home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / c / tcxl551.zip / TCXL_DOC.EXE / lha / DOC / TCXL-REF.TXT < prev    next >
Text File  |  1990-10-01  |  291KB  |  12,183 lines

  1.  
  2.  
  3.             The TesSeRact CXL User Interface Development System
  4.  
  5.  
  6.                          Library Reference Manual
  7.  
  8.  
  9.                       Version 5.51 -- October 1, 1990
  10.  
  11.  
  12.      Copyright 1990, Innovative Data Concepts
  13.      All Rights Reserved
  14.  
  15.  
  16.      Innovative Data Concepts
  17.      1657 The Fairways
  18.      Suite 101
  19.      Jenkintown, PA 19046
  20.      Voice:  1-215-884-3373
  21.      Orders: 1-800-926-4551
  22.      FAX:    1-215-886-4225
  23.  
  24.  
  25.  
  26. TCXL is  part of  IDC's TesSeRact  Development Tools series of programmer's
  27. products.
  28. This  document;   other  accompanying  written  and  disk-based  notes  and
  29. specifications; and  all referenced  and related program files accompanying
  30. this document  are copyrighted  by Innovative  Data Concepts.  For ordering
  31. information, see  the ORDER.DOC  file provided  with  this  package.    For
  32. shareware distribution requirements, see the VENDOR.DOC file.
  33.  
  34.  
  35.  
  36.  
  37.  
  38.                   _______
  39.              ____|__     |               (R)
  40.           --|       |    |-------------------
  41.             |   ____|__  |  Association of
  42.             |  |       |_|  Shareware
  43.             |__|   o   |    Professionals
  44.           -----|   |   |---------------------
  45.                |___|___|    MEMBER
  46.  
  47.  
  48. The TesSeRact  Development Tools are distributed as shareware -- this means
  49. that we  encourage users,  subject to restrictions described in the License
  50. Agreement, to  share copies  of this  program with  friends, associates and
  51. bulletin boards.  You may not share the registered version of The TesSeRact
  52. Development Tools;  however, you  may request  a  free  shareware  disk  by
  53. completing the form in VENDOR.DOC.
  54.  
  55. If you make copies of The TesSeRact Development Tools, you must include all
  56. files in  the original  distribution files,  as well  as the  documentation
  57. archive.   You are  not permitted  to distribute  The TesSeRact Development
  58. Tools without this documentation.
  59.  
  60. Innovative Data  Concepts is  a member  of  the  Association  of  Shareware
  61. Professionals.   The  ASP  has  established  stringent  standards  for  its
  62. members.   ASP wants  to make  sure that  the shareware principle works for
  63. you.  If you are unable to resolve a problem with an ASP member (other than
  64. technical support),  ASP may  be able  to help.   Please  write to  the ASP
  65. Ombudsman at P.O. Box 5786, Bellevue, WA 98006.
  66.  
  67.  
  68.                                 Trademarks
  69.  
  70.      SWAPSK, SWAPSP, SWAPTN, SWAPMT, SWAPMM, SWAPSH, SWAPDT, SWAPNG and The
  71.           SWAP Utilities are trademarks of Innovative Data Concepts.
  72.      TesSeRact is a trademark of Innovative Data Concepts
  73.      CompuServe is a registered trademark of CompuServe Incorporated.
  74.      DESQview is a trademark of Quarterdeck Office Systems.
  75.      Epson is a registered trademark of Seiko Epson Corporation.
  76.      IBM is a registered trademark of International Business Machines.
  77.      LIM  and   EMS  are   trademarks  of   Lotus,  Intel,   and  Microsoft
  78.           Corporations.
  79.      Lotus is a registered trademark of Lotus Development Corporation.
  80.      Microsoft is a registered trademark of Microsoft Corporation.
  81.      Turbo C  and   Turbo C++  are   registered   trademarks   of   Borland
  82.           International.
  83.      UltraVision is a trademark of Personics, Inc.
  84.      Zortech is a trademark of Zortech Inc.
  85.  
  86. Page ii                                    TesSeRact CXL V5.5 Documentation
  87.                         Detailed Table of Contents
  88.      Introductory Notes.............................................ii
  89.          Preliminary Notes & Comments................................1
  90.  User Level Functions................................................2
  91.      Menu System.....................................................2
  92.          Menu Item Manipulation......................................2
  93.              ItmCur..................................................2
  94.              ItmDis..................................................3
  95.              ItmDsp..................................................3
  96.              ItmEna..................................................4
  97.              ItmFun..................................................5
  98.              ItmGet..................................................6
  99.              ItmKey..................................................6
  100.              ItmLoc..................................................7
  101.              ItmNxt..................................................7
  102.              ItmSet..................................................8
  103.              ItmTxt..................................................8
  104.          Menu Definition and Access..................................9
  105.              MnuAct..................................................9
  106.              MnuBeg.................................................10
  107.              MnuCur.................................................11
  108.              MnuEnd.................................................12
  109.              MnuItm.................................................13
  110.              MnuShow................................................14
  111.      Entry System...................................................15
  112.          Entry Form Manipulation....................................15
  113.              EntDef.................................................15
  114.              EntFld.................................................16
  115.              EntKey.................................................17
  116.              EntSep.................................................17
  117.              EntShow................................................18
  118.          Entry Field Manipulation...................................19
  119.              FldCur.................................................19
  120.              FldFun.................................................20
  121.              FldKey.................................................21
  122.              FldLoc.................................................22
  123.          Internal Entry Routines....................................23
  124.              _FldDsp................................................23
  125.              _FldDecL...............................................23
  126.              _FldDecR...............................................23
  127.      Help System....................................................24
  128.              HlpAdd.................................................24
  129.              HlpClr.................................................24
  130.              HlpCur.................................................25
  131.              HlpDef.................................................26
  132.              HlpDrop................................................26
  133.              HlpOff.................................................27
  134.              HlpPop.................................................27
  135.              HlpPush................................................28
  136.              HlpSet.................................................28
  137.              HlpShow................................................29
  138.              HlpWind................................................29
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145. TesSeRact CXL V5.5 Documentation                                   Page iii
  146.      Selection System...............................................30
  147.              SelAttr................................................30
  148.              SelFile................................................31
  149.              SelStr.................................................32
  150.              SelTxt.................................................33
  151.              _Select................................................34
  152.  Middle Level Functions.............................................35
  153.      Window System..................................................35
  154.          Error Handling.............................................35
  155.              Wperror................................................35
  156.              WerrMsg................................................35
  157.              Werror.................................................36
  158.          General Window Manipulation................................36
  159.              Wactiv.................................................36
  160.              WcloseAll..............................................37
  161.              Windowat...............................................37
  162.              WinLoc.................................................38
  163.              Wisactiv...............................................38
  164.              Wopen..................................................39
  165.              WpopUp.................................................40
  166.              Wrestore...............................................41
  167.              Wsave..................................................42
  168.              WsetEsc................................................43
  169.              WsetFil................................................43
  170.              WsetFun................................................44
  171.              WsetTab................................................44
  172.              WsetTxt................................................45
  173.              Wunhide................................................46
  174.              Wunlink................................................46
  175.              Wwprints...............................................47
  176.          Active Window Movement.....................................47
  177.              Wcenter................................................47
  178.              Wclose.................................................48
  179.              Wcopy..................................................49
  180.              Wdrag..................................................49
  181.              Wdump..................................................50
  182.              Whandle................................................50
  183.              Whide..................................................51
  184.              Wmove..................................................51
  185.              Wsize..................................................52
  186.              Wslide.................................................52
  187.          Active Window Control......................................53
  188.              WchgAtr................................................53
  189.              WchkBox................................................53
  190.              WchkCol................................................54
  191.              WchkPos................................................54
  192.              WchkRow................................................55
  193.              Wclear.................................................55
  194.              WclrEol................................................56
  195.              WclrEos................................................56
  196.              WclrWin................................................57
  197.              WfilBox................................................57
  198.              WlinDel................................................58
  199.              WlinIns................................................58
  200.              WscrBox................................................59
  201.              WscrWin................................................60
  202.  
  203.  
  204. Page iv                                    TesSeRact CXL V5.5 Documentation
  205.          Active Border..............................................61
  206.              Wborder................................................61
  207.              Wbprintc...............................................61
  208.              WdrwBox................................................62
  209.              WdrwHor................................................63
  210.              WdrwVer................................................64
  211.              Wmessage...............................................65
  212.              Wtitle.................................................66
  213.          Active Shadow..............................................67
  214.              Wshadoff...............................................67
  215.              Wshadow................................................68
  216.          Active Cursor..............................................69
  217.              WcurGet................................................69
  218.              WcurGt_................................................69
  219.              WcurPut................................................70
  220.              WcurPt_................................................70
  221.              Wgotoxy................................................71
  222.              Wpgotoxy...............................................72
  223.              WposGet................................................72
  224.          Active Window Formatted Output.............................73
  225.              WdupChr................................................73
  226.              WdupStr................................................73
  227.              Wputc..................................................74
  228.              Wputs..................................................75
  229.              Wputns.................................................76
  230.              Wputsw.................................................76
  231.              Wputf..................................................77
  232.              WputFmt................................................77
  233.              WputCen................................................78
  234.              Wputrj.................................................78
  235.              _Wputl.................................................79
  236.          Active Window Unformatted Output...........................79
  237.              WdupChrA...............................................79
  238.              WdupStrA...............................................80
  239.              Wprtc..................................................81
  240.              Wprts..................................................82
  241.              Wprtns.................................................83
  242.              Wprtsw.................................................83
  243.              Wprtf..................................................84
  244.              WprtFmt................................................85
  245.              WprtCen................................................86
  246.              Wprtrj.................................................87
  247.      Display System.................................................88
  248.          Window Builders............................................88
  249.              VclrBox................................................88
  250.              VdrwBox................................................89
  251.              VdrwBx_................................................89
  252.              VfilBox................................................89
  253.              VfilBx_................................................89
  254.              Vsave..................................................90
  255.              Vrestore...............................................90
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263. TesSeRact CXL V5.5 Documentation                                     Page v
  264.          Video Control..............................................91
  265.              VidInit................................................91
  266.              VidMode................................................91
  267.              VidParm................................................92
  268.              VidTerm................................................92
  269.              VidType................................................93
  270.              VsetLin................................................93
  271.              Vclear.................................................94
  272.              VclrEol................................................94
  273.              VclrScr................................................94
  274.          Video Output...............................................95
  275.              Vprintc................................................95
  276.              Vprints................................................96
  277.              VputSpa................................................96
  278.              Vputc..................................................97
  279.              Vputw..................................................97
  280.              Vputw_.................................................97
  281.              Vscroll................................................98
  282.              Vscrol_................................................98
  283.              Vgetw..................................................98
  284.              Vgetw_.................................................98
  285.          Cursor Control.............................................99
  286.              VcurGet................................................99
  287.              VcurGt_................................................99
  288.              VcurHid...............................................100
  289.              VcurPut...............................................101
  290.              VcurPt_...............................................101
  291.              VcurSet...............................................102
  292.              VcurSiz...............................................102
  293.              VcurSz_...............................................102
  294.              Vgotoxy...............................................103
  295.              VposGet...............................................103
  296.          Attribute Control.........................................104
  297.              VatrInv...............................................104
  298.              VatrMap...............................................105
  299.              VatrRev...............................................106
  300.              VatrSet...............................................106
  301.              VatrTxt...............................................106
  302.              Vattrib...............................................107
  303.          Video-Disk Routines.......................................107
  304.              VsavBox...............................................107
  305.              VsavBx_...............................................107
  306.              VlodBox...............................................108
  307.              VsavScr...............................................108
  308.              VlodScr...............................................108
  309.      Input System..................................................109
  310.          Active Window Input.......................................109
  311.              KwGetCf...............................................109
  312.              KwGetCh...............................................110
  313.              KwGetFmt..............................................111
  314.              KwGetSn...............................................112
  315.              KwGetSt...............................................112
  316.              KwGetYn...............................................113
  317.              KwScanf...............................................114
  318.  
  319.  
  320.  
  321.  
  322. Page vi                                    TesSeRact CXL V5.5 Documentation
  323.          Default Video Input.......................................115
  324.              KvGetCf...............................................115
  325.              KvGetCh...............................................115
  326.              KvGetFmt..............................................116
  327.              KvGetSn...............................................116
  328.              KvGetSt...............................................117
  329.              KvGetYn...............................................117
  330.              KvScanf...............................................118
  331.          Asynchronous Input........................................118
  332.              KbndChg...............................................118
  333.              KbndClr...............................................119
  334.              KbndFre...............................................119
  335.              KbndIdle..............................................119
  336.              KbndSet...............................................120
  337.          Input With No Echo........................................120
  338.              KeyClear..............................................120
  339.              KeyEvent..............................................121
  340.              KeyGetc...............................................121
  341.              KeyPeek...............................................122
  342.              KeyStat...............................................122
  343.              KeyTime...............................................122
  344.              KeyWait...............................................123
  345.      Strings System................................................123
  346.          Trimming..................................................123
  347.              strltrim..............................................124
  348.              strrtrim..............................................124
  349.              strtrim...............................................124
  350.          Changing..................................................125
  351.              strchg................................................125
  352.              strichg...............................................125
  353.              strischg..............................................126
  354.              strschg...............................................126
  355.          Checksum..................................................127
  356.              strchksum.............................................127
  357.              strichksum............................................127
  358.          Delete/Insert.............................................128
  359.              strdel................................................128
  360.              strdela...............................................128
  361.              stridel...............................................129
  362.              stridela..............................................129
  363.              strins................................................130
  364.          Inclusion.................................................130
  365.              strinc................................................130
  366.              striinc...............................................131
  367.              strocc................................................131
  368.              striocc...............................................132
  369.              strsocc...............................................132
  370.              strisocc..............................................133
  371.          Replacement...............................................133
  372.              strsrep...............................................133
  373.              strisrep..............................................134
  374.          Substrings................................................134
  375.              strmid................................................134
  376.              strleft...............................................135
  377.              strright..............................................135
  378.  
  379.  
  380.  
  381. TesSeRact CXL V5.5 Documentation                                   Page vii
  382.          Justification.............................................136
  383.              strljust..............................................136
  384.              strrjust..............................................136
  385.              strrol................................................137
  386.              strror................................................137
  387.              strshl................................................138
  388.              strshr................................................138
  389.          Matching..................................................139
  390.              strbmatch.............................................139
  391.              strmatch..............................................139
  392.          Miscellaneous.............................................140
  393.              strblank..............................................140
  394.              strcode...............................................140
  395.              strsetsz..............................................141
  396.              struplow..............................................141
  397.  Hardware Level Functions..........................................142
  398.      Information Subsystem.........................................142
  399.          Library Information.......................................142
  400.              TcxlInit..............................................142
  401.              TcxlTerm..............................................142
  402.              TcxlVer...............................................143
  403.          Hardware Information......................................143
  404.              _BioEqp...............................................143
  405.              BiosVer...............................................144
  406.              ClockCal..............................................144
  407.              MachId................................................145
  408.              HdwFlg................................................145
  409.              HdwGam................................................146
  410.              gameport..............................................146
  411.              HdwNdp................................................146
  412.              mathchip..............................................146
  413.              HdwMou................................................146
  414.              HdwMdm................................................147
  415.              HdwC40................................................147
  416.              HdwC80................................................147
  417.              HdwM80................................................148
  418.              HdwDrv................................................148
  419.              numflop...............................................148
  420.              HdwPar................................................148
  421.              numpar................................................148
  422.              HdwSer................................................149
  423.              numser................................................149
  424.          Utility Routines..........................................149
  425.              Beep..................................................149
  426.              RandFile..............................................149
  427.              Sound.................................................150
  428.              SysDate...............................................150
  429.              SysTime...............................................151
  430.              TabNxt................................................151
  431.              _Delay................................................152
  432.              _StdOut...............................................152
  433.              _StdOutS..............................................152
  434.              _Timer................................................153
  435.              _WaitMs...............................................153
  436.      Memory Subsystem..............................................154
  437.              MemInit...............................................154
  438.              MemTerm...............................................154
  439.  
  440. Page viii                                  TesSeRact CXL V5.5 Documentation
  441.          Expanded Memory Routines..................................154
  442.              EMSalloc..............................................154
  443.              EMSfree...............................................155
  444.              EMSgetnam.............................................155
  445.              EMScount..............................................155
  446.              EMSpages..............................................156
  447.              EMSmap................................................156
  448.              EMSquery..............................................156
  449.              EMSrest...............................................157
  450.              EMSsave...............................................157
  451.              EMSsetnam.............................................157
  452.              EMSstat...............................................158
  453.          Extended Memory Routines..................................158
  454.              XMSalloc..............................................158
  455.              XMScopy...............................................158
  456.              XMSfree...............................................159
  457.              XMSavail..............................................159
  458.              XMSquery..............................................159
  459.              XMSlock...............................................160
  460.              XMSrealloc............................................160
  461.              XMSunlock.............................................160
  462.              _A20_LD...............................................161
  463.              _A20_LE...............................................161
  464.              _A20chk...............................................161
  465.              _A20dis...............................................161
  466.              _A20ena...............................................161
  467.              UMBalloc..............................................161
  468.              UMBfree...............................................162
  469.              HMAalloc..............................................162
  470.              HMAfree...............................................162
  471.      Printer Subsystem.............................................163
  472.              _LPputC...............................................163
  473.              lcrlf.................................................163
  474.              lprintc...............................................163
  475.              lprintf...............................................163
  476.              lprintn...............................................164
  477.              lprintns..............................................164
  478.              lprints...............................................164
  479.              lprintsb..............................................164
  480.              lprintsu..............................................165
  481.              scrndump..............................................165
  482.              windump...............................................165
  483.      OpSys Subsystem...............................................165
  484.              _ChgDir...............................................165
  485.              _ChgDrv...............................................166
  486.              _FndFst...............................................166
  487.              _FndNxt...............................................166
  488.              _GetDir...............................................167
  489.              _GetDrv...............................................167
  490.              _InpByt...............................................167
  491.              _InpWrd...............................................168
  492.              _IntDis...............................................168
  493.              _IntEna...............................................168
  494.              _OutByt...............................................169
  495.              _OutWrd...............................................169
  496.  
  497.  
  498.  
  499. TesSeRact CXL V5.5 Documentation                                    Page ix
  500.  Bottom Level Functions............................................170
  501.      Video Access Subsystem........................................170
  502.          Direct Hardware Access....................................170
  503.              VidOfs................................................170
  504.              VgetDvb...............................................170
  505.              VisaEga...............................................170
  506.              VisaPs2...............................................171
  507.              VsetChr...............................................171
  508.          Ultravision Support.......................................172
  509.              _VuvDis...............................................172
  510.              _VuvEna...............................................172
  511.              _VuvGet...............................................172
  512.              _VuvSet...............................................173
  513.              _VuvVal...............................................173
  514.          Internal Hardware Calls...................................173
  515.              _VgetN................................................173
  516.              _VgetN_...............................................173
  517.              _VgetS................................................174
  518.              _VgetS_...............................................174
  519.              _VgetW................................................174
  520.              _VgetW_...............................................174
  521.              _VgetX................................................174
  522.              _VgetX_...............................................174
  523.              _VputA................................................174
  524.              _VputA_...............................................174
  525.              _VputB................................................175
  526.              _VputB_...............................................175
  527.              _VputC................................................175
  528.              _VputC_...............................................175
  529.              _VputN................................................175
  530.              _VputN_...............................................175
  531.              _VputS................................................175
  532.              _VputS_...............................................175
  533.              _VputW................................................176
  534.              _VputW_...............................................176
  535.              _VputX................................................176
  536.              _VputX_...............................................176
  537.      Keyboard Access Subsystem.....................................176
  538.              KscnCod...............................................176
  539.              KcapOff...............................................176
  540.              KcapOn................................................177
  541.              KextOff...............................................177
  542.              KextOn................................................177
  543.              KinsOff...............................................177
  544.              KinsOn................................................177
  545.              KnumOff...............................................178
  546.              KnumOn................................................178
  547.              _KeyExt...............................................178
  548.              _KeyGet...............................................178
  549.              _KeyHit...............................................179
  550.              _KeySet...............................................179
  551.              _KeySta...............................................179
  552.              KqueChk...............................................180
  553.              KqueClr...............................................180
  554.              KqueGet...............................................180
  555.              KquePut...............................................181
  556.              KqueStr...............................................181
  557.  
  558. Page x                                     TesSeRact CXL V5.5 Documentation
  559.      Mouse Access Subsystem........................................182
  560.              MSclear...............................................182
  561.              MScurs................................................183
  562.              MSgoto................................................184
  563.              MShide................................................184
  564.              MShome................................................184
  565.              MSinit................................................184
  566.              MSkeys................................................185
  567.              MSlimit...............................................185
  568.              MSmove................................................185
  569.              MSpop.................................................186
  570.              MSpress...............................................186
  571.              MSpush................................................186
  572.              MSreles...............................................187
  573.              MSshow................................................187
  574.              MSspeed...............................................187
  575.              MSstat................................................188
  576.              MSterm................................................188
  577.              MSupdat...............................................188
  578.              _MSget................................................189
  579.              _MSpos................................................189
  580.              _MSset................................................189
  581.              _MSsho................................................190
  582.  Internal Level Functions..........................................190
  583.      Conversion Subsystem..........................................190
  584.              cvtcf.................................................190
  585.              cvtci.................................................190
  586.              cvtfc.................................................191
  587.              cvtic.................................................191
  588.              touplow...............................................191
  589.      Format Control Subsystem......................................192
  590.              FmtBack...............................................192
  591.              FmtChar...............................................192
  592.              FmtExcl...............................................192
  593.              FmtFlip...............................................193
  594.              FmtIncl...............................................193
  595.              FmtInit...............................................193
  596.              FmtPutF...............................................194
  597.      Near/Far Subsystem............................................194
  598.              MK_FP.................................................194
  599.              MK_FPT................................................194
  600.              _FarCpy...............................................195
  601.              _CpyFar...............................................195
  602.              _FarGet...............................................195
  603.              _GetFar...............................................195
  604.              _FarPut...............................................196
  605.              _PutFar...............................................196
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617. TesSeRact CXL V5.5 Documentation                                    Page xi
  618.  
  619.  
  620.                        Preliminary Notes & Comments
  621.  
  622.  
  623. Because of  the massive  size of  this  reference,  we  are  not  providing
  624. examples for  functions that are well-documented in the TCXLDEMO.C program,
  625. provided with this package.  Adding examples for each function could easily
  626. expand the  size of this manual to more than 200 pages, making it virtually
  627. useless as  an evaluation  tool.   Examples are,  therefore, listed as line
  628. references within TCXLDEMO.C, and in the various source code files.
  629.  
  630. In addition, cross-reference items have, for the most part, been eliminated
  631. for functions  in the  same group;  i.e, all the functions under "Menu Item
  632. Manipulation" can  be assumed  to have "see also references" to each other.
  633. We will,  however, provide  cross-reference material between functions that
  634. have similar  functionality or uses, when they cross the boundaries between
  635. groups, systems, or subsystems.
  636.  
  637. The various  Appendixes, referenced in this document, are packaged with the
  638. Quick Reference Guide, as TCXL-QCK.TXT on diskette, and printed separately.
  639.  
  640. ---------------------------------------------------------------------------
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676. TesSeRact CXL V5.5 Documentation                                     Page 1
  677. Page 1                                     TesSeRact CXL V5.5 Documentation
  678.                            User Level Functions
  679.  
  680.  
  681.                                 Menu System
  682.  
  683.                           Menu Item Manipulation
  684.  
  685. ---------------------------------------------------------------------------
  686.  
  687. NAME.........ItmCur            <TcxlMnu.H>    Macro
  688.  
  689. DESCRIPTION
  690.      Returns the  address of  the current menu item's record. After this
  691.      call, you  may access  any of  the item's  elements.  This function
  692.      would most  likely be  called from a "select", "before", or "after"
  693.      function.
  694.  
  695. PROTOTYPE....IdfP ItmCur(NOARG);
  696.  
  697.   #define ItmCur() (MdfCur(MctlCur))
  698.  
  699. ARGUMENTS....None
  700.  
  701. RETURNS
  702.   The address of the current menu item's record.
  703.  
  704. SEE ALSO
  705.   IdfP (See User's Guide)
  706.   MnuCur (Page 11)
  707.   FldCur (Page 19)
  708.   HlpCur (Page 25)
  709.  
  710. EXAMPLE
  711.      FILE: TCXLDEMO.C.........Line: 2128, 2396, 2421, 2425, 2589
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736. Page 2                                     TesSeRact CXL V5.5 Documentation
  737. ---------------------------------------------------------------------------
  738.  
  739. NAME.........ItmDis            <TcxlMnu.H>
  740.  
  741. DESCRIPTION
  742.      This function  disables a  menu item  by making  it  nonselectable.
  743.      This  function  would  most  likely  be  called  from  a  "select",
  744.      "before", or  "after" function. It will set a flag so that when the
  745.      called function returns to the menu, the disabled menu item will be
  746.      displayed in  the text  attribute  (See  Appendix  A)  defined  for
  747.      nonselectable text.  Please note that you may not disable the first
  748.      menu item in the top menu in a program.  This destroys the internal
  749.      linked list of pointers used to build the menu system.
  750.  
  751. PROTOTYPE....IntT CTYP ItmDis(TagT id);
  752.  
  753. ARGUMENTS
  754.   The Tag ID of the menu item
  755.  
  756. RETURNS
  757.   ERR_NUL  -  No Error
  758.   ERR_ARG  -  Argument Failure
  759.     TcxlErr Returns:
  760.     W_NOMNUDEF  -  No Menu Defined
  761.     W_NOTFOUND  -  Tag ID Not Found
  762.  
  763. SEE ALSO
  764.   ItmEna (Page 4)
  765.  
  766. EXAMPLE
  767.      FILE: TCXLDEMO.C.........Line: 2558, 2564
  768.  
  769. ---------------------------------------------------------------------------
  770.  
  771. NAME.........ItmDsp            <TcxlMnu.H>
  772.  
  773. DESCRIPTION
  774.      This function  sets the  redisplay flag for a menu item.  Normally,
  775.      this would be needed if you have changed the text, etc.
  776.  
  777. PROTOTYPE....IntT CTYP ItmDsp(TagT id);
  778.  
  779. ARGUMENTS
  780.   The Tag ID of the menu item
  781.  
  782. RETURNS
  783.   ERR_NUL  -  No Error
  784.   ERR_ARG  -  Argument Failure
  785.     TcxlErr Returns:
  786.     W_NOMNUDEF  -  No Menu Defined
  787.     W_NOTFOUND  -  Tag ID Not Found
  788.  
  789. EXAMPLE
  790.      FILE: TCXLDEMO.C.........Line: 2425, 2593
  791.  
  792.  
  793.  
  794.  
  795. TesSeRact CXL V5.5 Documentation                                     Page 3
  796. ---------------------------------------------------------------------------
  797.  
  798. NAME.........ItmEna            <TcxlMnu.H>
  799.  
  800. DESCRIPTION
  801.      This function  enables a  menu item  by making  it selectable. This
  802.      function would  most likely be called from a "select", "before", or
  803.      "after" function.   It  will set  a flag  so that  when the  called
  804.      function returns  to the  menu,  the  enabled  menu  item  will  be
  805.      displayed in  the text  attribute  (See  Appendix  A)  defined  for
  806.      selectable text.
  807.  
  808. PROTOTYPE....IntT CTYP ItmEna(TagT id);
  809.  
  810. ARGUMENTS
  811.   The Tag ID of the menu item
  812.  
  813. RETURNS
  814.   ERR_NUL  -  No Error
  815.   ERR_ARG  -  Argument Failure
  816.     TcxlErr Returns:
  817.     W_NOMNUDEF  -  No Menu Defined
  818.     W_NOTFOUND  -  Tag ID Not Found
  819.  
  820. SEE ALSO
  821.   ItmDis (Page 3)
  822.  
  823. EXAMPLE
  824.      FILE: TCXLDEMO.C.........Line: 2557, 2565
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854. Page 4                                     TesSeRact CXL V5.5 Documentation
  855. ---------------------------------------------------------------------------
  856.  
  857. NAME.........ItmFun            <TcxlMnu.H>
  858.  
  859. DESCRIPTION
  860.      Assigns "before"  and "after"  function pointers  to the  menu item
  861.      just defined.   The  call to  this function must appear immediately
  862.      after the  call to  the MnuItm()  to which  it relates.  During the
  863.      processing of the menu, when the user moves to the item, the before
  864.      function gets  called.   When the  user leaves  the item, the after
  865.      function gets  called. This  powerful feature allows you to do some
  866.      advanced stuff  with menus,  but must  be used very carefully.  One
  867.      possible use  of ItmFun() is to define a before function that opens
  868.      a window  and writes  some text  in it, and an after function which
  869.      closes that  window.   When the  user moved  to that menu item, the
  870.      window would open up and display text, then when the user left that
  871.      menu item, the window would automatically close.
  872.  
  873. PROTOTYPE....IntT CTYP ItmFun(VFvCP bf, VFvCP af);
  874.  
  875. ARGUMENTS
  876.   bf  -  Before Function (NULL if not used)
  877.   af  -  After Function (NULL if not used)
  878.  
  879. RETURNS
  880.   ERR_NUL  -  No Error
  881.   ERR_ARG  -  Argument Failure
  882.     TcxlErr Returns:
  883.     W_NOITMDEF  -  No Menu Items Defined
  884.  
  885. SEE ALSO
  886.   FldFun (Page 20)
  887.   WsetFun (Page 44)
  888.   MnuItm (Page 13)
  889.  
  890. EXAMPLE
  891.      FILE: TCXLDEMO.C.........Line: 914, 953
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913. TesSeRact CXL V5.5 Documentation                                     Page 5
  914. ---------------------------------------------------------------------------
  915.  
  916. NAME.........ItmGet            <TcxlMnu.H>
  917.  
  918. DESCRIPTION
  919.      This function  returns a  pointer to  the text  referenced  by  the
  920.      specified Tag.
  921.  
  922. PROTOTYPE....ChrP CTYP ItmGet(TagT id);
  923.  
  924. ARGUMENTS
  925.   The text of the menu item
  926.  
  927. RETURNS
  928.   ERR_NUL  -  No Error
  929.   ERR_ARG  -  Argument Failure
  930.     TcxlErr Returns:
  931.     W_NOMNUDEF  -  No Menu Defined
  932.     W_NOTFOUND  -  Tag ID Not Found
  933.  
  934. EXAMPLE
  935.      FILE: TCXLDEMO.C.........Line: 2590
  936.  
  937. ---------------------------------------------------------------------------
  938.  
  939. NAME.........ItmKey            <TcxlMnu.H>
  940.  
  941. DESCRIPTION
  942.      This function returns a pointer to the Item Definition by searching
  943.      for the passed hotkey.
  944.  
  945. PROTOTYPE....IdfP CTYP ItmKey(KeyT kc);
  946.  
  947. ARGUMENTS
  948.   kc  -  hotkey to search for
  949.  
  950. RETURNS
  951.   The address of the item referenced
  952.   NULL if not found
  953.  
  954. SEE ALSO
  955.   IdfP (See User's Guide)
  956.   ItmLoc (Page 7)
  957.   FldKey (Page 21)
  958.  
  959. EXAMPLE
  960.      FILE: INP\KEYGETC.C......Line: 113
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972. Page 6                                     TesSeRact CXL V5.5 Documentation
  973. ---------------------------------------------------------------------------
  974.  
  975. NAME.........ItmLoc            <TcxlMnu.H>
  976.  
  977. DESCRIPTION
  978.      This function  returns a  pointer to the Item Definition referenced
  979.      by the passed Tag
  980.  
  981. PROTOTYPE....IdfP CTYP ItmLoc(TagT id);
  982.  
  983. ARGUMENTS
  984.   The Tag ID of the menu item
  985.  
  986. RETURNS
  987.   The address of the item referenced
  988.   NULL if not found
  989.  
  990. SEE ALSO
  991.   IdfP (See User's Guide)
  992.   ItmKey (Page 6)
  993.   FldLoc (Page 22)
  994.   WinLoc (Page 38)
  995.  
  996. EXAMPLE
  997.      FILE: MNU\ITMDIS.C.......Line: 26
  998.      FILE: MNU\ITMDSP.C.......Line: 23
  999.      FILE: MNU\ITMENA.C.......Line: 26
  1000.      FILE: MNU\ITMGET.C.......Line: 23
  1001.      FILE: MNU\ITMNXT.C.......Line: 21
  1002.      FILE: MNU\ITMSET.C.......Line: 26
  1003.      FILE: MNU\MNUSHOW.C......Line: 108, 222
  1004.  
  1005. ---------------------------------------------------------------------------
  1006.  
  1007. NAME.........ItmNxt            <TcxlMnu.H>
  1008.  
  1009. DESCRIPTION
  1010.      Defines which  menu item the selection bar will move to next.  This
  1011.      function would  most likely be called from a "select", "before", or
  1012.      "after" function.   The  selection bar does not actually move until
  1013.      the called function returns to the menu.
  1014.  
  1015. PROTOTYPE....IntT CTYP ItmNxt(TagT id);
  1016.  
  1017. ARGUMENTS
  1018.   The Tag ID of the menu item
  1019.  
  1020. RETURNS
  1021.   ERR_NUL  -  No Error
  1022.   ERR_ARG  -  Argument Failure
  1023.     TcxlErr Returns:
  1024.     W_NOMNUDEF  -  No Menu Defined
  1025.     W_NOTFOUND  -  Tag ID Not Found
  1026.  
  1027. EXAMPLE
  1028.      FILE: TCXLDEMO.C.........Line: 2128, 2559, 2566
  1029.  
  1030.  
  1031. TesSeRact CXL V5.5 Documentation                                     Page 7
  1032. ---------------------------------------------------------------------------
  1033.  
  1034. NAME.........ItmSet            <TcxlMnu.H>
  1035.  
  1036. DESCRIPTION
  1037.      This function  changes the  text associated with the specified menu
  1038.      item, referenced by the passed Tag.
  1039.  
  1040. PROTOTYPE....IntT CTYP ItmSet(TagT id, ChrP tp);
  1041.  
  1042. ARGUMENTS
  1043.   id  -  The Tag ID of the menu item
  1044.   tp  -  Pointer to the new text
  1045.  
  1046. RETURNS
  1047.   ERR_NUL  -  No Error
  1048.   ERR_ARG  -  Argument Failure
  1049.     TcxlErr Returns:
  1050.     W_NOMNUDEF  -  No Menu Defined
  1051.     W_NOTFOUND  -  Tag ID Not Found
  1052.  
  1053. ---------------------------------------------------------------------------
  1054.  
  1055. NAME.........ItmTxt            <TcxlMnu.H>
  1056.  
  1057. DESCRIPTION
  1058.      Adds a  text description to a menu item.  You can use this function
  1059.      to  create  Lotus-style  menus  where  the  text  descriptions  are
  1060.      displayed underneath  the menu  and change each time the user moves
  1061.      to a new menu item.
  1062.  
  1063. PROTOTYPE....IntT CTYP ItmTxt(IntT wr, IntT wc, IntT at, ChrP ps);
  1064.  
  1065. ARGUMENTS
  1066.   wr  -  Window Row
  1067.   wc  -  Window Column
  1068.   at  -  Attribute (See Appendix A)
  1069.   ps  -  string to display
  1070.  
  1071. RETURNS
  1072.   ERR_NUL  -  No Error
  1073.   ERR_ARG  -  Argument Failure
  1074.     TcxlErr Returns:
  1075.     W_NOMNUDEF  -  No Menu Defined
  1076.     W_NOTFOUND  -  Tag ID Not Found
  1077.  
  1078. SEE ALSO
  1079.   MnuItm (Page 13)
  1080.  
  1081. EXAMPLE
  1082.      FILE: TCXLDEMO.C.........Line: 2286, 2288, 2290, 2292, 2294, 2296
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090. Page 8                                     TesSeRact CXL V5.5 Documentation
  1091. ---------------------------------------------------------------------------
  1092.  
  1093.                         Menu Definition and Access
  1094.  
  1095. ---------------------------------------------------------------------------
  1096.  
  1097. NAME.........MnuAct            <TcxlMnu.H>
  1098.  
  1099. DESCRIPTION
  1100.      Starts a  menu/sub-menu definition.   This  is  used  in  place  of
  1101.      MnuBeg(). This function differs from MnuBeg() in that when the user
  1102.      processes the  defined menu,  the menu  will  assume  whatever  the
  1103.      active window is at the time.
  1104.  
  1105. PROTOTYPE....IntT CTYP MnuAct(NOARG);
  1106.  
  1107. ARGUMENTS....None
  1108.  
  1109. RETURNS
  1110.   ERR_NUL  -  No Error
  1111.   ERR_ARG  -  Argument Failure
  1112.   ERR_MEM  -  Memory Allocation Failure
  1113.     TcxlErr Returns:
  1114.     W_NOITMDEF  -  No Menu Items Defined
  1115.  
  1116. SEE ALSO
  1117.   MnuBeg (Page 10)
  1118.   EntDef (Page 15)
  1119.  
  1120. EXAMPLE
  1121.      FILE: HLP\HLPSHOW.C......Line: 278
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149. TesSeRact CXL V5.5 Documentation                                     Page 9
  1150. ---------------------------------------------------------------------------
  1151.  
  1152. NAME.........MnuBeg            <TcxlMnu.H>
  1153.  
  1154. DESCRIPTION
  1155.      Starts a  menu/sub-menu definition  and describes  the window which
  1156.      the menu  will reside  in.  This does not actually open any windows
  1157.      or menus,  just defines them.  This must be used in conjuction with
  1158.      MnuItm() and  MnuEnd().   This is  one of  the 4 functions that are
  1159.      required to process a menu.
  1160.  
  1161. PROTOTYPE....IntT CTYP MnuBeg(IntT sr, IntT sc, IntT er, IntT ec,
  1162.             IntT bt, IntT ba, IntT wa, VfvCP fo);
  1163.  
  1164. ARGUMENTS
  1165.   sr  -  Start row of menu's window
  1166.   sc  -  Start column of menu's window
  1167.   er  -  End row of menu's window
  1168.   ec  -  End column of menu's window
  1169.   bt  -  Border Type (See Appendix C [Border Types])
  1170.   ba  -  Border Attribute (See Appendix A)
  1171.   wa  -  Window Attribute (See Appendix A)
  1172.   fo  -  Function to be called when the menu's window is opened.
  1173.       An example would be to add a title, a shadow, etc.
  1174.  
  1175. RETURNS
  1176.   ERR_NUL  -  No Error
  1177.   ERR_ARG  -  Argument Failure
  1178.   ERR_MEM  -  Memory Allocation Failure
  1179.     TcxlErr Returns:
  1180.     W_NOITMDEF  -  No Menu Items Defined
  1181.  
  1182. SEE ALSO
  1183.   VidWid, VidDep (See User's Guide)
  1184.  
  1185. EXAMPLE
  1186.      FILE: MNU\MNUACT.C.......Line: 23
  1187.      FILE: TCXLDEMO.C.........Line: 863, 904, 909, 920, 930, 943, 954,
  1188.                               2258, 2284
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208. Page 10                                    TesSeRact CXL V5.5 Documentation
  1209. ---------------------------------------------------------------------------
  1210.  
  1211. NAME.........MnuCur            <TcxlMnu.H>    Macro
  1212.  
  1213. DESCRIPTION
  1214.      Returns the  address of  the currently active menu's record.  After
  1215.      this call,  you may access any of the menu's elements.  Use caution
  1216.      when updating  elements in  the menu's record. This function should
  1217.      only be  called while  the  menu  to  which  it  relates  is  being
  1218.      processed.
  1219.  
  1220. PROTOTYPE....MdfP MnuCur(NOARG);
  1221.  
  1222.   #define MnuCur() (MctlCur)
  1223.  
  1224. ARGUMENTS....None
  1225.  
  1226. RETURNS
  1227.   The address of the current menu's record.
  1228.  
  1229. SEE ALSO
  1230.   MdfP (See User's Guide)
  1231.   ItmCur (Page 2)
  1232.   FldCur (Page 19)
  1233.   HlpCur (Page 25)
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267. TesSeRact CXL V5.5 Documentation                                    Page 11
  1268. ---------------------------------------------------------------------------
  1269.  
  1270. NAME.........MnuEnd            <TcxlMnu.H>
  1271.  
  1272. DESCRIPTION
  1273.      Ends   a    menu/sub-menu   definition    and   defines    specific
  1274.      features/attributes of  that menu.   This is one of the 4 functions
  1275.      that are required to process a menu.
  1276.  
  1277. PROTOTYPE....IntT CTYP MnuEnd(TagT ti, IntT mt, IntT bw,
  1278.             IntT tp, IntT ta, IntT sa, IntT na, IntT ba);
  1279.  
  1280. ARGUMENTS
  1281.   ti  -  Tag ID of the item the selaction bar will start with
  1282.   mt  -  A mask which describes the menu style
  1283.       (See Appendix C [Menu Types])
  1284.   bw  -  Width of the section bar (zero means selection string width)
  1285.   tp  -  Offset position from start of the selection bar that
  1286.       the menu item text will start.
  1287.   ta  -  Attribute for menu text (See Appendix A)
  1288.   sa  -  Attribute for Selection Character (See Appendix A)
  1289.   na  -  Attribute for non-selectable text (See Appendix A)
  1290.   ba  -  Attribute for the selection bar (See Appendix A)
  1291.  
  1292. RETURNS
  1293.   ERR_NUL  -  No Error
  1294.   ERR_ARG  -  Argument Failure
  1295.   ERR_MEM  -  Memory Allocation Failure
  1296.     TcxlErr Returns:
  1297.     W_NOITMDEF  -  No Menu Items Defined
  1298.     W_INVTAGID  -  The specified Tag ID was invalid.  It must match
  1299.                 one of the Tag IDs in the current menu.
  1300.  
  1301. EXAMPLE
  1302.      FILE: HLP\HLPSHOW.C......Line: 188
  1303.      FILE: TCXLDEMO.C.........Line: 871, 915, 925, 935, 948, 957, 960,
  1304.                               2261, 2297
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326. Page 12                                    TesSeRact CXL V5.5 Documentation
  1327. ---------------------------------------------------------------------------
  1328.  
  1329. NAME.........MnuItm            <TcxlMnu.H>
  1330.  
  1331. DESCRIPTION
  1332.      Defines a  menu item.   This  is one  of the  4 functions  that are
  1333.      required to process a menu.
  1334.  
  1335. PROTOTYPE....IntT CTYP MnuItm(IntT wr, IntT wc, ChrP ps, IntT sc, TagT id,
  1336.             IntT fm, VfvCP sf, WrdT hk, TagT he);
  1337.  
  1338. ARGUMENTS
  1339.   wr  -  Window Row
  1340.   wc  -  Window Column
  1341.   ps  -  Menu Item String
  1342.   sc  -  Quick Selection character.  This is often the first letter
  1343.       of the menu item.
  1344.   id  -  unique tag identifier for this menu item
  1345.   fm  -  Feature Mask (See Appendix C [Menu Feature Masks])
  1346.   sf  -  Function to call when item is selected
  1347.   hk  -  Keycode of the key which will select this item from anywhere
  1348.       within the menu structure.  This allows the user to call this
  1349.       menu's select function even if not currently processing its menu.
  1350.   he  -  Help Tag for this item
  1351.  
  1352. RETURNS
  1353.   ERR_NUL  -  No Error
  1354.   ERR_ARG  -  Argument Failure
  1355.   ERR_MEM  -  Memory Allocation Failure
  1356.     TcxlErr Returns:
  1357.     W_NOMNUBEG  -  No Begin Of Menu Specified.  See MnuBeg()
  1358.  
  1359. SEE ALSO
  1360.   ItmFun (Page 5)
  1361.   ItmTxt (Page 8)
  1362.  
  1363. EXAMPLE
  1364.      FILE: HLP\HLPSHOW.C......Line: 291
  1365.      FILE: TCXLDEMO.C.........Line: 628, 867, 907, 911, 918, 922, 928,
  1366.                               932, 938, 941, 945, 951, 955, 956, 2260,
  1367.                               2285, 2287, 2289, 2291, 2293, 2295
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385. TesSeRact CXL V5.5 Documentation                                    Page 13
  1386. ---------------------------------------------------------------------------
  1387.  
  1388. NAME.........MnuShow           <TcxlMnu.H>
  1389.  
  1390. DESCRIPTION
  1391.      Processes the  defined menu structure.  The user is allowed to move
  1392.      a selection  bar around to the various menu items. If mouse support
  1393.      is on,  then the  user can use the mouse for selecting as well.  If
  1394.      sub-menus exists,  then the  user can  select those  also.   Escape
  1395.      checking is provided for when the user is in the root menu, however
  1396.      if the  user is in a sub-menu, pressing [Esc] will always return to
  1397.      the next  level up.   This  is one  of the  4  functions  that  are
  1398.      required to process a menu.
  1399.  
  1400. PROTOTYPE....IntT MnuShow(NOARG);
  1401.  
  1402. ARGUMENTS....None
  1403.  
  1404. RETURNS
  1405.   The Tag ID of the menu item that was selected.
  1406.   ERR_NUL  -  Check TcxlErr for W_ESCPRESS!
  1407.   ERR_ARG  -  Argument Failure
  1408.   ERR_MEM  -  Memory Allocation Failure
  1409.     TcxlErr Returns:
  1410.     W_NOMNUDEF  -  No Menu Defined
  1411.     W_NOMNUEND  -  No End Of Menu Specified. See MnuEnd().
  1412.     W_ESCPRESS  -  The [Esc] Key Was Pressed From The Root Menu
  1413.     W_INVCOORD  -  Invalid Coordinates
  1414.     W_INVBTYPE  -  Invalid Border Type
  1415.  
  1416. SEE ALSO
  1417.   EntShow (Page 18)
  1418.   HlpShow (Page 29)
  1419.  
  1420. EXAMPLE
  1421.      FILE: HLP\HLPSHOW.C......Line: 190
  1422.      FILE: TCXLDEMO.C.........Line: 873, 963, 2264, 2299
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444. Page 14                                    TesSeRact CXL V5.5 Documentation
  1445. ---------------------------------------------------------------------------
  1446.  
  1447.                                Entry System
  1448.  
  1449.                           Entry Form Manipulation
  1450.  
  1451. ---------------------------------------------------------------------------
  1452.  
  1453. NAME.........EntDef            <TcxlEnt.H>
  1454.  
  1455. DESCRIPTION
  1456.      Marks the  beginning of  a data  input  form,  and  specifies  text
  1457.      attributes to  be used by the form.  The Field Attribute is used to
  1458.      display the  entry fields  themselves, while  the Text Attribute is
  1459.      used to display the required characters within the fields, that are
  1460.      not user-modifiable.
  1461.  
  1462. PROTOTYPE....IntT CTYP EntDef(IntT fa, IntT ta);
  1463.  
  1464. ARGUMENTS
  1465.   fa  -  Field Attribute (See Appendix A)
  1466.   ta  -  Text Attribute (See Appendix A)
  1467.  
  1468. RETURNS
  1469.   ERR_NUL  -  No Error
  1470.   ERR_ARG  -  Argument Failure
  1471.   ERR_MEM  -  Memory Allocation Error
  1472.     TcxlErr Returns:
  1473.     W_NOACTIVE  -  No Active Window
  1474.  
  1475. EXAMPLE
  1476.      FILE: TCXLDEMO.C.........Line: 1011, 1575, 1711, 2420
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503. TesSeRact CXL V5.5 Documentation                                    Page 15
  1504. ---------------------------------------------------------------------------
  1505.  
  1506. NAME.........EntFld            <TcxlEnt.H>
  1507.  
  1508. DESCRIPTION
  1509.      Defines a window input field.
  1510.  
  1511. PROTOTYPE....IntT CTYP EntFld(IntT wr, IntT wc, ChrP ps, ChrP fs, IntT fm,
  1512.             TagT id, IntT md, IfcpCP vf, TagT ht);
  1513.  
  1514. ARGUMENTS
  1515.   wr  -  Window Row for Start of Input
  1516.   wc  -  Window Column for Start of Input
  1517.   ps  -  String buffer to receive input
  1518.   fs  -  Field Format String (See Appendix E)
  1519.   fm  -  Feature Mask (See Appendix C [Field Feature Bits])
  1520.   id  -  Tag Identifier for field
  1521.   md  -  Field Mode (See "_EntCtl" in the User's Guide)
  1522.   vf  -  Validate Function
  1523.   ht  -  Help Tag for this field
  1524.  
  1525. RETURNS
  1526.   ERR_NUL  -  No Error
  1527.   ERR_ARG  -  Argument Failure
  1528.   ERR_MEM  -  Memory Allocation Error
  1529.     TcxlErr Returns:
  1530.     W_NOFRMBEG  -  No Begin Of Form Specified, see EntDef()
  1531.     W_INVCOORD  -  Invalid Coordinates
  1532.     W_INVFORMT  -  Invalid Format String
  1533.  
  1534. EXAMPLE
  1535.      FILE: TCXLDEMO.C.........Line: 1016, 1576, 1712, 2421
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562. Page 16                                    TesSeRact CXL V5.5 Documentation
  1563. ---------------------------------------------------------------------------
  1564.  
  1565. NAME.........EntKey            <TcxlEnt.H>
  1566.  
  1567. DESCRIPTION
  1568.      Allows you  to extend  or modify  the data  entry keys  used as the
  1569.      alternate get-key  function so that during EntShow() processing you
  1570.      can get  a key,  test it,  change it,  or do whatever else you like
  1571.      with it  before you  return it  to EntShow().   It  also  lets  you
  1572.      specify a  variable to  receive the  key that caused termination of
  1573.      the form.  The call  to EntKey()  can be contained anywhere between
  1574.      EntDef() and EntShow().
  1575.  
  1576. PROTOTYPE....IntT CTYP EntKey(WfipCP gk, WrdP tk);
  1577.  
  1578. ARGUMENTS
  1579.   gk  -  Alternate getkey() function
  1580.   tk  -  Pointer to location to store termination key
  1581.  
  1582. RETURNS
  1583.   ERR_NUL  -  No Error
  1584.   ERR_ARG  -  Argument Failure
  1585.     TcxlErr Returns:
  1586.     W_NOACTIVE  -  No Active Form
  1587.     W_NOFRMBEG  -  No Begin Of Form Specified
  1588.  
  1589. EXAMPLE
  1590.      FILE: TCXLDEMO.C.........Line: 1022
  1591.  
  1592. ---------------------------------------------------------------------------
  1593.  
  1594. NAME.........EntSep            <TcxlEnt.H>
  1595.  
  1596. DESCRIPTION
  1597.      This function  declares a  new "word  separation" string.  The TCXL
  1598.      library has  a built-in definition of the characters that will mark
  1599.      the end of a "word":
  1600.  
  1601.      LCL ChrP sepstr = " ~`!@#$%^&*()-+=|\\[]{}:;'\",./<>?";
  1602.  
  1603.      If your  application requires  a different  separator  string,  you
  1604.      would call this function.
  1605.  
  1606. PROTOTYPE....IntT CTYP EntSep(ChrP ws);
  1607.  
  1608. ARGUMENTS
  1609.   ws  -  New separation string
  1610.  
  1611. RETURNS
  1612.   ERR_NUL  -  No Error
  1613.   ERR_ARG  -  Argument Failure
  1614.     TcxlErr Returns:
  1615.     W_NOFRMBEG  -  No Form Defined
  1616.  
  1617. EXAMPLE
  1618.      FILE: ENT\ENTDEF.C.......Line: 40
  1619.  
  1620.  
  1621. TesSeRact CXL V5.5 Documentation                                    Page 17
  1622. ---------------------------------------------------------------------------
  1623.  
  1624. NAME.........EntShow           <TcxlEnt.H>
  1625.  
  1626. DESCRIPTION
  1627.      Marks the end of the defined input form and initiates processing of
  1628.      the defined  input fields.   The  user is  allowed to edit back and
  1629.      forth between the defined fields until the last field is entered.
  1630.  
  1631. PROTOTYPE....IntT CTYP EntShow(NOARG);
  1632.  
  1633. ARGUMENTS....None
  1634.  
  1635. RETURNS
  1636.   ERR_NUL  -  Check TcxlErr for W_ESCPRESS!
  1637.   ERR_ARG  -  Argument Failure
  1638.   ERR_NUL  -  No Error
  1639.     TcxlErr Returns:
  1640.     W_NOACTIVE  -  No Active Window
  1641.     W_NOINPDEF  -  No Input Fields Defined
  1642.  
  1643. SEE ALSO
  1644.   MnuShow (Page 14)
  1645.   HlpShow (Page 29)
  1646.  
  1647. EXAMPLE
  1648.      FILE: TCXLDEMO.C.........Line: 1024, 1578, 1715, 2423
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680. Page 18                                    TesSeRact CXL V5.5 Documentation
  1681. ---------------------------------------------------------------------------
  1682.  
  1683.                          Entry Field Manipulation
  1684.  
  1685. ---------------------------------------------------------------------------
  1686.  
  1687. NAME.........FldCur            <TcxlEnt.H>    Macro
  1688.  
  1689. DESCRIPTION
  1690.      Returns the address of the current input field's record.  After the
  1691.      call to  this function,  you may  access any  of the  current input
  1692.      field's elements.   Use  caution  when  updating  elements  in  the
  1693.      field's record.   This  function should  only be  called while  the
  1694.      input form  to which it relates is being processed.  Please use the
  1695.      macros defined in TCXLent.h when updating members of this structure
  1696.      -- while  the structure  may change  in future versions, the macros
  1697.      will remain consistent.
  1698.  
  1699. PROTOTYPE....FdfP FldCur(NOARG);
  1700.  
  1701.   #define FldCur() (EdfFld(_EntCtl))
  1702.  
  1703. ARGUMENTS....None
  1704.  
  1705. RETURNS
  1706.   The address of the current input field's record
  1707.  
  1708. SEE ALSO
  1709.   FdfP (See User's Guide)
  1710.   ItmCur (Page 2)
  1711.   MnuCur (Page 11)
  1712.   HlpCur (Page 25)
  1713.  
  1714. EXAMPLE
  1715.      FILE: TCXLDEMO.C.........Line: 2274
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739. TesSeRact CXL V5.5 Documentation                                    Page 19
  1740. ---------------------------------------------------------------------------
  1741.  
  1742. NAME.........FldFun            <TcxlEnt.H>
  1743.  
  1744. DESCRIPTION
  1745.      Assigns "before"  and "after"  function pointers to the input field
  1746.      just defined.   The  call to  this function must appear immediately
  1747.      after the  call to  the EntFld()  to which it relates.  During user
  1748.      input, when  the user  enters the  field, the  before function gets
  1749.      called.   When the  user leaves  the  validated  field,  the  after
  1750.      function gets  called.  This powerful feature allows you to do some
  1751.      pretty advanced  stuff with  input fields,  but must  be used  very
  1752.      carefully.
  1753.  
  1754. PROTOTYPE....IntT CTYP FldFun(VfvCP bf, VfvCP af);
  1755.  
  1756. ARGUMENTS
  1757.   bf  -  Before function
  1758.   af  -  After function
  1759.  
  1760. RETURNS
  1761.   ERR_NUL  -  No Error
  1762.   ERR_ARG  -  Argument Failure
  1763.     TcxlErr Returns:
  1764.     W_NOACTIVE  -  No Active Window
  1765.     W_NOINPDEF  -  No Input Fields Defined
  1766.  
  1767. SEE ALSO
  1768.   ItmFun (Page 5)
  1769.   WsetFun (Page 44)
  1770.   EntFld (Page 16)
  1771.  
  1772. EXAMPLE
  1773.      FILE: TCXLDEMO.C.........Line: 1019
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798. Page 20                                    TesSeRact CXL V5.5 Documentation
  1799. ---------------------------------------------------------------------------
  1800.  
  1801. NAME.........FldKey            <TcxlEnt.H>
  1802.  
  1803. DESCRIPTION
  1804.      This function  assigns a  "hot key"  to the  individual data  entry
  1805.      field.  The call to this function must appear immediately after the
  1806.      call to  the EntFld() to which it relates.  During user input, when
  1807.      the user enters the field, the before function gets called.
  1808.  
  1809. PROTOTYPE....IntT CTYP FldKey(KeyT hk);
  1810.  
  1811. ARGUMENTS
  1812.   hk  -  Hotkey for field
  1813.  
  1814. RETURNS
  1815.   ERR_NUL  -  No Error
  1816.   ERR_ARG  -  Argument Failure
  1817.     TcxlErr Returns:
  1818.     W_NOACTIVE  -  No Active Window
  1819.     W_NOINPDEF  -  No Input Fields Defined
  1820.  
  1821. SEE ALSO
  1822.   ItmKey (Page 6)
  1823.   EntFld (Page 16)
  1824.  
  1825. EXAMPLE
  1826.      FILE: TCXLDEMO.C.........Line: 1020
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857. TesSeRact CXL V5.5 Documentation                                    Page 21
  1858. ---------------------------------------------------------------------------
  1859.  
  1860. NAME.........FldLoc            <TcxlEnt.H>
  1861.  
  1862. DESCRIPTION
  1863.      Searches for  a defined  field using  the tag ID of the field, then
  1864.      returns the  address of  the field's record. After the call to this
  1865.      function, you  may access  any of the found input field's elements.
  1866.      Use caution  when updating  elements in  the field's  record.  This
  1867.      function should  only be  called during the processing of the input
  1868.      form to  which it  relates.   Please  use  the  macros  defined  in
  1869.      TCXLent.h when  updating members  of this  structure --  while  the
  1870.      structure may  change in  future versions,  the macros  will remain
  1871.      consistent.
  1872.  
  1873. PROTOTYPE....FdfP CTYP FldLoc(TagT id);
  1874.  
  1875. ARGUMENTS
  1876.   id  -  Tag ID of the field to search for
  1877.  
  1878. RETURNS
  1879.   The address of the current input field's record
  1880.  
  1881.   If an error occurs, then NULL is returned, and TcxlErr will return:
  1882.     W_NOACTIVE  -  No Active Window
  1883.     W_NOFRMDEF  -  No Form Defined
  1884.     W_NOTFOUND  -  No Defined Field Matches specified Tag
  1885.  
  1886. SEE ALSO
  1887.   FdFp (See User's Guide)
  1888.   ItmLoc (Page 7)
  1889.   WinLoc (Page 38)
  1890.  
  1891. EXAMPLE
  1892.      FILE: TCXLDEMO.C.........Line: 1641
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916. Page 22                                    TesSeRact CXL V5.5 Documentation
  1917. ---------------------------------------------------------------------------
  1918.  
  1919.                           Internal Entry Routines
  1920.  
  1921. ---------------------------------------------------------------------------
  1922.  
  1923. NAME........._FldDsp           <_TcxlEnt.H>
  1924.  
  1925. DESCRIPTION
  1926.      Display a data-entry field.
  1927.  
  1928. PROTOTYPE....VOID CTYP _FldDsp(ChrP s, IntT h);
  1929.  
  1930. ARGUMENTS
  1931.   s   -  String to Display
  1932.   h   -  Attribute Flag
  1933.  
  1934. ---------------------------------------------------------------------------
  1935.  
  1936. NAME........._FldDecL          <_TcxlEnt.H>
  1937.  
  1938. DESCRIPTION
  1939.      Space fill  left of  decimal point,  right justfy  against  decimal
  1940.      point.
  1941.  
  1942. PROTOTYPE....VOID CTYP _FldDecL(ChrP s);
  1943.  
  1944. ARGUMENTS
  1945.   s   -  String to Adjust
  1946.  
  1947. ---------------------------------------------------------------------------
  1948.  
  1949. NAME........._FldDecR          <_TcxlEnt.H>
  1950.  
  1951. DESCRIPTION
  1952.      Space fill  right of  decimal point,  left justfy  against  decimal
  1953.      point.
  1954.  
  1955. PROTOTYPE....VOID CTYP _FldDecR(ChrP s);
  1956.  
  1957. ARGUMENTS
  1958.   s   -  String to Adjust
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975. TesSeRact CXL V5.5 Documentation                                    Page 23
  1976. ---------------------------------------------------------------------------
  1977.  
  1978.                                 Help System
  1979.  
  1980. ---------------------------------------------------------------------------
  1981.  
  1982. NAME.........HlpAdd            <TcxlHlp.H>
  1983.  
  1984. DESCRIPTION
  1985.      Adds the  current help  category to  the help  category stack, then
  1986.      sets the  current help  category to  the specified  help  category.
  1987.      It's effectively  the same  as  doing  a  HlpCur()  followed  by  a
  1988.      HlpSet().
  1989.  
  1990. PROTOTYPE....IntT CTYP HlpAdd(TagT ht);
  1991.  
  1992. ARGUMENTS
  1993.   ht  -  Help Tag-ID
  1994.  
  1995. RETURNS
  1996.   ERR_NUL  -  No Error
  1997.   ERR_ARG  -  Argument Failure
  1998.     TcxlErr Returns:
  1999.     W_NOHLPDEF  -  No Help Record Defined
  2000.     W_HLPSTKOV  -  Help Stack Overflow (Stack Full)
  2001.  
  2002. ---------------------------------------------------------------------------
  2003.  
  2004. NAME.........HlpClr            <TcxlHlp.H>
  2005.  
  2006. DESCRIPTION
  2007.      Clears the help category stack.
  2008.  
  2009. PROTOTYPE....IntT CTYP HlpClr(NOARG);
  2010.  
  2011. ARGUMENTS....None
  2012.  
  2013. RETURNS
  2014.   ERR_NUL  -  No Error
  2015.   ERR_ARG  -  Argument Failure
  2016.     TcxlErr Returns:
  2017.     W_NOHLPDEF  -  No Help Defined
  2018.  
  2019. EXAMPLE
  2020.      FILE: HLP\HLPOFF.C.......Line: 29
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034. Page 24                                    TesSeRact CXL V5.5 Documentation
  2035. ---------------------------------------------------------------------------
  2036.  
  2037. NAME.........HlpCur            <TcxlHlp.H>    Macro
  2038.  
  2039. DESCRIPTION
  2040.      Pushes the current help category onto the help category stack.  The
  2041.      default stack can hold up to 20 help categories.
  2042.  
  2043. PROTOTYPE....IntT HlpCur(NOARG);
  2044.  
  2045.   #define HlpCur() (HlpPush(WctlHlp))
  2046.  
  2047. ARGUMENTS....None
  2048.  
  2049. RETURNS
  2050.   ERR_NUL  -  No Error
  2051.   ERR_ARG  -  Argument Failure
  2052.     TcxlErr Returns:
  2053.     W_NOHLPDEF  -  no defined help.  See whelpdef().
  2054.     W_HLPSTKOV  -  help stack overflow (stack full).
  2055.  
  2056. SEE ALSO
  2057.   ItmCur (Page 2)
  2058.   MnuCur (Page 11)
  2059.   FldCur (Page 19)
  2060.  
  2061. EXAMPLE
  2062.      FILE: MNU\MNUSHOW.C......Line: 187, 687
  2063.      FILE: ENT\ENTSHOW.C......Line: 774
  2064.      FILE: HLP\HLPADD.C.......Line: 21
  2065.      FILE: TCXLDEMO.C.........Line: 2256
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093. TesSeRact CXL V5.5 Documentation                                    Page 25
  2094. ---------------------------------------------------------------------------
  2095.  
  2096. NAME.........HlpDef            <TcxlHlp.H>
  2097.  
  2098. DESCRIPTION
  2099.      Defines the  help file, key, and window colors.  After calling this
  2100.      function, anytime  the help key is pressed, the help processor will
  2101.      search the help file for whatever the current help category is.
  2102.  
  2103. PROTOTYPE....IntT CTYP HlpDef(ChrP fn, WrdT ky, IntT wa, IntT ta, IntT sa,
  2104.             IntT ba, VfvCP fo);
  2105.  
  2106. ARGUMENTS
  2107.   fn  -  Filename for help file
  2108.   ky  -  Keycode of the help key
  2109.   wa  -  Help Window Attribute (See Appendix A)
  2110.   ta  -  Help Text Attribute (See Appendix A)
  2111.   sa  -  Selection Text Attribute (See Appendix A)
  2112.   ba  -  Selection Bar Attribute (See Appendix A)
  2113.   fo  -  Function to call immediately upon opening the help window
  2114.  
  2115. RETURNS
  2116.   ERR_NUL  -  No Error
  2117.   ERR_ARG  -  Argument Failure
  2118.   ERR_MEM  -  Memory Allocation Error
  2119.     TcxlErr Returns:
  2120.     W_NOHLPDEF - No Help File Name defined
  2121.  
  2122. SEE ALSO
  2123.   MnuBeg (Page 10)
  2124.   EntDef (Page 15)
  2125.  
  2126. EXAMPLE
  2127.      FILE: TCXLDEMO.C.........Line: 751
  2128.  
  2129. ---------------------------------------------------------------------------
  2130.  
  2131. NAME.........HlpDrop           <TcxlHlp.H>
  2132.  
  2133. DESCRIPTION
  2134.      Pops the  help category  off of  the top  of the stack and into the
  2135.      oid.  The current help category is not affected.
  2136.  
  2137. PROTOTYPE....IntT CTYP HlpDrop(NOARG);
  2138.  
  2139. ARGUMENTS....None
  2140.  
  2141. RETURNS
  2142.   ERR_NUL  -  No Error
  2143.   ERR_ARG  -  Argument Failure
  2144.     TcxlErr Returns:
  2145.     W_NOHLPDEF  -  No Defined Help
  2146.     W_HLPSTKUN  -  Help Stack Underflow (Stack Empty)
  2147.  
  2148. EXAMPLE
  2149.      FILE: TCXLDEMO.C.........Line: 877, 984, 1055, 2300
  2150.  
  2151.  
  2152. Page 26                                    TesSeRact CXL V5.5 Documentation
  2153. ---------------------------------------------------------------------------
  2154.  
  2155. NAME.........HlpOff            <TcxlHlp.H>
  2156.  
  2157. DESCRIPTION
  2158.      Disengages the  help system.   This un-defines the help key, clears
  2159.      the help stack, and frees any memory allocated by the help system.
  2160.  
  2161. PROTOTYPE....IntT CTYP HlpOff(NOARG);
  2162.  
  2163. ARGUMENTS....None
  2164.  
  2165. RETURNS
  2166.   ERR_NUL  -  No Error
  2167.   ERR_ARG  -  Argument Failure
  2168.     TcxlErr Returns:
  2169.     W_NOHLPDEF  -  No Defined Help
  2170.  
  2171. EXAMPLE
  2172.      FILE: HLP\HLPDEF.C.......Line: 49
  2173.  
  2174. ---------------------------------------------------------------------------
  2175.  
  2176. NAME.........HlpPop            <TcxlHlp.H>
  2177.  
  2178. DESCRIPTION
  2179.      Pops the help category off of the top of the stack and makes it the
  2180.      current help category.
  2181.  
  2182. PROTOTYPE....IntT CTYP HlpPop(NOARG);
  2183.  
  2184. ARGUMENTS....None
  2185.  
  2186. RETURNS
  2187.   ERR_NUL  -  No Error
  2188.   ERR_ARG  -  Argument Failure
  2189.     TcxlErr Returns:
  2190.     W_NOHLPDEF  -  No Defined Help
  2191.     W_HLPSTKUN  -  Help Stack Underflow (Stack Empty)
  2192.  
  2193. EXAMPLE
  2194.      FILE: MNU\MNUSHOW.C......Line: 191, 693
  2195.      FILE: ENT\ENTSHOW.C......Line: 779
  2196.      FILE: TCXLDEMO.C.........Line: 2275
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211. TesSeRact CXL V5.5 Documentation                                    Page 27
  2212. ---------------------------------------------------------------------------
  2213.  
  2214. NAME.........HlpPush           <TcxlHlp.H>
  2215.  
  2216. DESCRIPTION
  2217.      Pushes the  specified help  category onto  the help category stack.
  2218.      The current  help category is not affected.  The default help stack
  2219.      can hold up to 20 help categories.
  2220.  
  2221. PROTOTYPE....IntT CTYP HlpPush(TagT ct);
  2222.  
  2223. ARGUMENTS
  2224.   ct  -  The help tag to push
  2225.  
  2226. RETURNS
  2227.   ERR_NUL  -  No Error
  2228.   ERR_ARG  -  Argument Failure
  2229.     TcxlErr Returns:
  2230.     W_NOHLPDEF  -  No Defined Help
  2231.     W_HLPSTKUN  -  Help Stack Overflow (Stack Full)
  2232.  
  2233. EXAMPLE
  2234.      FILE: TCXLDEMO.C.........Line: 861, 890, 1008, 2283
  2235.  
  2236. ---------------------------------------------------------------------------
  2237.  
  2238. NAME.........HlpSet            <TcxlHlp.H>
  2239.  
  2240. DESCRIPTION
  2241.      Sets the current help category.  If a window is active at the time,
  2242.      it will  also set  that window's  help category.  The help category
  2243.      set by  calling this  function is  what will  be used  by the  help
  2244.      processor for searching the help file for help text.
  2245.  
  2246. PROTOTYPE....IntT CTYP HlpSet(TagT ct);
  2247.  
  2248. ARGUMENTS
  2249.   ct  -  Help Category Tag
  2250.  
  2251. RETURNS
  2252.   ERR_NUL  -  No Error
  2253.   ERR_ARG  -  Argument Failure
  2254.     TcxlErr Returns:
  2255.     W_NOHLPDEF  -  No Defined Help
  2256.  
  2257. EXAMPLE
  2258.      FILE: HLP\HLPADD.C.......Line: 23
  2259.      FILE: TCXLDEMO.C.........Line: 1078, 1083, 1093, 1163, 1263, 1285,
  2260.                               1305, 1396, 1752, 2141, 2435, 2464, 2508,
  2261.                               2535, 2633
  2262.  
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270. Page 28                                    TesSeRact CXL V5.5 Documentation
  2271. ---------------------------------------------------------------------------
  2272.  
  2273. NAME.........HlpShow           <TcxlHlp.H>
  2274.  
  2275. DESCRIPTION
  2276.      This function  displays the  help window, with the current window's
  2277.      Help Category as the specified help text.
  2278.  
  2279. PROTOTYPE....VOID CTYP HlpShow(NOARG);
  2280.  
  2281. ARGUMENTS....None
  2282.  
  2283. RETURNS
  2284.   ERR_NUL  -  No Error
  2285.   ERR_ARG  -  Argument Failure
  2286.     TcxlErr Returns:
  2287.     W_NOHLPDEF  -  No Defined Help
  2288.  
  2289. SEE ALSO
  2290.   MnuShow (Page 14)
  2291.   EntShow (Page 18)
  2292.  
  2293. EXAMPLE
  2294.      FILE: HLP\HLPDEF.C.......Line: 53
  2295.  
  2296. ---------------------------------------------------------------------------
  2297.  
  2298. NAME.........HlpWind           <TcxlHlp.H>
  2299.  
  2300. DESCRIPTION
  2301.      Sets specific  features to  be used  by the help window for when it
  2302.      opens. These  are screen  coordinates, border  type, and whether or
  2303.      not to  display a  "Help" title on the upper window border. It does
  2304.      not actually  open the help window.  You can call HlpWind() anytime
  2305.      after calling  HlpDef().   You can  call HlpWind()  as often as you
  2306.      like during your program.
  2307.  
  2308. PROTOTYPE....IntT CTYP HlpWind(IntT sr, IntT sc, IntT er, IntT ec,
  2309.             IntT bt, IntT ti);
  2310.  
  2311. ARGUMENTS
  2312.   sr  -  Start Row
  2313.   sc  -  Start Column
  2314.   er  -  End Row
  2315.   ec  -  End Column
  2316.   bt  -  Border Type (See Appendix C [Border Types])
  2317.   ti  -  Display "Help" title on top border? (0=no, 1=yes)
  2318.  
  2319. RETURNS
  2320.   ERR_NUL  -  No Error
  2321.   ERR_ARG  -  Argument Failure
  2322.     TcxlErr Returns:
  2323.     W_NOHLPDEF  -  No Defined Help
  2324.  
  2325. SEE ALSO
  2326.   Wborder (Page 61)
  2327.  
  2328.  
  2329. TesSeRact CXL V5.5 Documentation                                    Page 29
  2330. ---------------------------------------------------------------------------
  2331.  
  2332.                              Selection System
  2333.  
  2334. ---------------------------------------------------------------------------
  2335.  
  2336. NAME.........SelAttr           <TcxlSel.H>
  2337.  
  2338. DESCRIPTION
  2339.      This function  will open  a window  and let  the user interactively
  2340.      pick a  text attribute  (See Appendix  A for  a list  of  available
  2341.      attributes).
  2342.  
  2343. PROTOTYPE....IntT CTYP SelAttr(IntT sr, IntT sc, IntT bt, IntT ba,
  2344.             IntT ab, VfvCP fo);
  2345.  
  2346. ARGUMENTS
  2347.   sr  -  Start Row
  2348.   sc  -  Start Column
  2349.   bt  -  Border Type (See Appendix C [Border Types])
  2350.   ba  -  Beginning Attribute (current default)
  2351.   ab  -  Allow Blink?
  2352.   fo  -  Function to call when window is opened
  2353.  
  2354. RETURNS
  2355.   The new attribute
  2356.  
  2357. EXAMPLE
  2358.      FILE: TCXLDEMO.C.........Line: 1096
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.  
  2388. Page 30                                    TesSeRact CXL V5.5 Documentation
  2389. ---------------------------------------------------------------------------
  2390.  
  2391. NAME.........SelFile           <TcxlSel.H>
  2392.  
  2393. DESCRIPTION
  2394.   This function will open up a window and display as many file/directory
  2395.   names in it as it can.  The user can use a selection bar to move
  2396.   through the file/directory names and select one.  If all of the
  2397.   file/directory names cannot fit in the window, scrolling and paging is
  2398.   allowed.  If the user selects a directory, SelFile() will change to
  2399.   that directory and display the list of files/directories in it.  After
  2400.   the selection is made, SelFile() will return the complete path name of
  2401.   the selected file.
  2402.  
  2403.  
  2404. PROTOTYPE....ChrP CTYP SelFile(IntT sr, IntT sc, IntT er, IntT ec, IntT bt,
  2405.             IntT ba, IntT wa, IntT sa, IntT ti, ChrP fs, VfvCP fo);
  2406.  
  2407. ARGUMENTS
  2408.   sr  -  Start Row
  2409.   sc  -  Start Column
  2410.   er  -  End Row
  2411.   ec  -  End Column
  2412.   bt  -  Border Type (See Appendix C [Border Types])
  2413.   ba  -  Border Attribute (See Appendix A)
  2414.   wa  -  Window Attribute (See Appendix A)
  2415.   sa  -  Selection Bar Attribute (See Appendix A)
  2416.   ti  -  Display Filespec Title On Upper Border?  (0=no, 1=yes)
  2417.   fs  -  Filespec to match (ie, "*.*")
  2418.   fo  -  Function to call when window is opened
  2419.  
  2420.  
  2421. RETURNS
  2422.   The address of the static string containing the full
  2423.   drive:path\filename string of the selected file. If an error occurred,
  2424.   NULL will be returned and TcxlErr will be set to one of the following:
  2425.     W_ESCPRESS  -  The [Esc] Key Was Pressed
  2426.     W_ALLOCERR  -  Memory Allocation Error
  2427.     W_DOSERROR  -  DOS Error (ie. Invalid Directory)
  2428.     W_INVCOORD  -  Invalid Window Coordinates
  2429.     W_INVBTYPE  -  Invalid Border Type
  2430.     W_STRLONG   -  Window Not Wide Enough To Hold Largest File Name
  2431.     W_NOMATCH   -  No Files Matched Input Filespec
  2432.     W_INVPATH   -  Invalid Path Or Path Not Found
  2433.  
  2434. EXAMPLE
  2435.      FILE: TCXLDEMO.C.........Line: 1084
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447. TesSeRact CXL V5.5 Documentation                                    Page 31
  2448. ---------------------------------------------------------------------------
  2449.  
  2450. NAME.........SelStr            <TcxlSel.H>
  2451.  
  2452. DESCRIPTION
  2453.      This function  will open  up a  window and  display as  many of the
  2454.      input strings in it as it can.  The user can use a selection bar to
  2455.      move through  the strings  and select  one.   If all of the strings
  2456.      cannot fit  in the  window, scrolling  and paging is allowed. After
  2457.      the selection  is made,  SelStr() will return the array subsript of
  2458.      the string that was selected.
  2459.  
  2460. PROTOTYPE....IntT CTYP SelStr(IntT sr, IntT sc, IntT er, IntT ec, IntT bt,
  2461.             IntT ba, IntT wa, IntT sa, ChrP as[], IntT ie, VfvCPfo);
  2462.  
  2463. ARGUMENTS
  2464.   sr  -  Start Row
  2465.   sc  -  Start Column
  2466.   er  -  End Row
  2467.   ec  -  End Column
  2468.   bt  -  Border Type (See Appendix C [Border Types])
  2469.   ba  -  Border Attribute (See Appendix A)
  2470.   wa  -  Window Attribute (See Appendix A)
  2471.   sa  -  Selection Bar Attribute (See Appendix A)
  2472.   as  -  Base of array of string pointers
  2473.   ie  -  Initial Element to default to
  2474.   fo  -  Function to call when window is opened
  2475.  
  2476. RETURNS
  2477.   The array subscript of the selected string.  If an error occurred,
  2478.   then -1 (ERR_ARG) will be returned and TcxlErr will be set to one of
  2479.   the following:
  2480.     W_ESCPRESS  -  The [Esc] Key Was Pressed
  2481.     W_ALLOCERR  -  Memory Allocation Error
  2482.     W_INVCOORD  -  Invalid Window Coordinates
  2483.     W_INVBTYPE  -  Invalid Border Type
  2484.     W_STRLONG   -  Window Not Wide Enough To Hold Largest String
  2485.     W_INVPATH   -  Invalid Path Or Path Not Found
  2486.  
  2487. EXAMPLE
  2488.      FILE: TCXLDEMO.C.........Line: 1079, 1204, 2052, 2065
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506. Page 32                                    TesSeRact CXL V5.5 Documentation
  2507. ---------------------------------------------------------------------------
  2508.  
  2509. NAME.........SelTxt            <TcxlSel.H>
  2510.  
  2511. DESCRIPTION
  2512.   Allows user to select one string from an array of strings via an
  2513.      in-place "menu".   This  function is  the same  as SelStr(), except
  2514.      that it  puts the  selection menu  in the  current  active  window,
  2515.      instead of creating a separate window for the selection.
  2516.  
  2517. PROTOTYPE....IntT CTYP SelTxt(IntT wr, IntT wc, IntT at,
  2518.             ChrP as[], IntT in);
  2519.  
  2520. ARGUMENTS
  2521.   wr  -  Window Row to start selection
  2522.   wc  -  Window Column to start selection
  2523.   at  -  Attribute for selection text (See Appendix A)
  2524.   as  -  Base of array of string pointers
  2525.   ie  -  Initial Element to default to
  2526.  
  2527.  
  2528. RETURNS
  2529.   The array subscript of the selected string.  If an error occurred,
  2530.   then -1 (ERR_ARG) will be returned and TcxlErr will be set to one of
  2531.   the following:
  2532.     W_NOACTIVE  -  No Active Window
  2533.     W_ESCPRESS  -  The [Esc] Key Was Pressed
  2534.     W_STRLONG   -  Window Not Wide Enough To Hold Largest String
  2535.  
  2536. EXAMPLE
  2537.      FILE: TCXLDEMO.C.........Line: 1090
  2538.  
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565. TesSeRact CXL V5.5 Documentation                                    Page 33
  2566. ---------------------------------------------------------------------------
  2567.  
  2568. NAME........._Select           <TcxlSel.H>
  2569.  
  2570. DESCRIPTION
  2571.      This  is  the  internal  selection  engine,  called  by  SelFile(),
  2572.      SelStr() and SelTxt().
  2573.  
  2574. PROTOTYPE....IntT CTYP _Select(IntT sr, IntT sc, IntT er, IntT ec,
  2575.   IntT bt, IntT ba, IntT wa, IntT sa, ChrP as[], IntT ie, VfvCP fo);
  2576.  
  2577. ARGUMENTS
  2578.   sr  -  Start Row
  2579.   sc  -  Start Column
  2580.   er  -  End Row
  2581.   ec  -  End Column
  2582.   bt  -  Border Type (See Appendix C [Border Types])
  2583.   ba  -  Border Attribute (See Appendix A)
  2584.   wa  -  Window Attribute (See Appendix A)
  2585.   sa  -  Selection Bar Attribute (See Appendix A)
  2586.   as  -  Base of array of string pointers
  2587.   ie  -  Initial Element to default to
  2588.   fo  -  Function to call when window is opened
  2589.  
  2590. RETURNS
  2591.   The array subscript of the selected string.  If an error occurred,
  2592.   then -1 (ERR_ARG) will be returned and TcxlErr will be set to one of
  2593.   the following:
  2594.     W_ESCPRESS  -  The [Esc] Key Was Pressed
  2595.     W_ALLOCERR  -  Memory Allocation Error
  2596.     W_INVCOORD  -  Invalid Window Coordinates
  2597.     W_INVBTYPE  -  Invalid Border Type
  2598.     W_STRLONG   -  Window Not Wide Enough To Hold Largest String
  2599.     W_INVPATH   -  Invalid Path Or Path Not Found
  2600.  
  2601. EXAMPLE
  2602.      FILE: SEL\SELFILE.C......Line: 137
  2603.      FILE: SEL\SELSTR.C.......Line: 27
  2604.      FILE: SEL\SELTXT.C.......Line: 32
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624. Page 34                                    TesSeRact CXL V5.5 Documentation
  2625. ---------------------------------------------------------------------------
  2626.  
  2627.  
  2628.                           Middle Level Functions
  2629.  
  2630.  
  2631.                                Window System
  2632.  
  2633.  
  2634.                               Error Handling
  2635.  
  2636. ---------------------------------------------------------------------------
  2637.  
  2638. NAME.........Wperror           <TcxlWin.H>
  2639.  
  2640. DESCRIPTION
  2641.      Opens an  error window,  displays an  error message, sounds a beep,
  2642.      waits for  a keypress, then returns to caller.  The error window is
  2643.      opened in the general vicinity of the cursor position.
  2644.  
  2645. PROTOTYPE....IntT CTYP Wperror(ChrP mp);
  2646.  
  2647. ARGUMENTS
  2648.   mp  -  The message you want displayed in the error window
  2649.  
  2650. RETURNS
  2651.   ERR_NUL  -  No Error
  2652.   ERR_ARG  -  Argument Failure
  2653.     TcxlErr Returns:
  2654.   W_STRLONG  - error message string too long
  2655.  
  2656. EXAMPLE
  2657.      FILE: TCXLDEMO.C.........Line: 1354, 1359, 2060, 2393, 2400, 2408
  2658.  
  2659. ---------------------------------------------------------------------------
  2660.  
  2661. NAME.........WerrMsg           <TcxlWin.H>
  2662.  
  2663. DESCRIPTION
  2664.      This function,  reads the global error value stored in TcxlErr, and
  2665.      returns the literal error message that corresponds to it.  This can
  2666.      be very  useful in  debugging programs  that use  TCXL's  windowing
  2667.      functions.
  2668.  
  2669. PROTOTYPE....ChrP CTYP WerrMsg(NOARG);
  2670.  
  2671. ARGUMENTS....None
  2672.  
  2673. RETURNS
  2674.   A pointer to the error message associated with the current value of
  2675.   TcxlErr().
  2676.  
  2677. EXAMPLE
  2678.      FILE: TCXLDEMO.C.........Line: 2630
  2679.  
  2680.  
  2681.  
  2682.  
  2683. TesSeRact CXL V5.5 Documentation                                    Page 35
  2684. ---------------------------------------------------------------------------
  2685.  
  2686. NAME.........Werror            <TcxlWin.H>
  2687.  
  2688. DESCRIPTION
  2689.      This function  terminates  your  application  with  a  fatal  error
  2690.      message, based  on the  value of  TcxlErr().   The video  system is
  2691.      restored, the  screen is  cleared, and  the error message is set to
  2692.      the Standard Error device (StdErr).
  2693.  
  2694. PROTOTYPE....VOID CTYP Werror(NOARG);
  2695.  
  2696. ARGUMENTS....None
  2697.  
  2698. RETURNS......None
  2699.  
  2700. EXAMPLE
  2701.      FILE: TCXLDEMO.C.........Line: 1689
  2702.  
  2703. ---------------------------------------------------------------------------
  2704.  
  2705.                         General Window Manipulation
  2706.  
  2707. ---------------------------------------------------------------------------
  2708.  
  2709. NAME.........Wactiv            <TcxlWin.H>
  2710.  
  2711. DESCRIPTION
  2712.      Activates a previously opened window, bringing it "in front" of all
  2713.      the others.   Many windowing functions can perform their operations
  2714.      only on  the active  window.   If a  window is not active, you will
  2715.      need to activate it before you can use it for these functions.
  2716.  
  2717. PROTOTYPE....IntT CTYP Wactiv(WndT wh);
  2718.  
  2719. ARGUMENTS
  2720.   wh  -  Window Handle
  2721.  
  2722. RETURNS
  2723.   ERR_NUL  -  No Error, or Window Already Active
  2724.   ERR_ARG  -  Argument Failure
  2725.     TcxlErr Returns:
  2726.     W_NOTFOUND  -  Window Handle Not Found
  2727.     W_NOACTIVE  -  No Open Windows
  2728.  
  2729. EXAMPLE
  2730.      FILE: MNU\MNUSHOW.C......Line: 363, 691
  2731.      FILE: TCXLDEMO.C.........Line: 1272, 2375
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742. Page 36                                    TesSeRact CXL V5.5 Documentation
  2743. ---------------------------------------------------------------------------
  2744.  
  2745. NAME.........WcloseAll         <TcxlWin.H>
  2746.  
  2747. DESCRIPTION
  2748.      Closes all open windows.
  2749.  
  2750. PROTOTYPE....IntT CTYP WcloseAll(NOARG);
  2751.  
  2752. ARGUMENTS....None
  2753.  
  2754. RETURNS
  2755.   ERR_NUL  -  No Error
  2756.   ERR_ARG  -  Argument Failure
  2757.     TcxlErr Returns:
  2758.     W_NOACTIVE  -  No Active Window
  2759.  
  2760. SEE ALSO
  2761.   Wclose (Page 48)
  2762.  
  2763. ---------------------------------------------------------------------------
  2764.  
  2765. NAME.........Windowat          <TcxlWin.H>
  2766.  
  2767. DESCRIPTION
  2768.      Returns the  handle of  the window  at  given  screen  row,  column
  2769.      coordinates.
  2770.  
  2771. PROTOTYPE....WndT CTYP Windowat(IntT sr, IntT sc);
  2772.  
  2773. ARGUMENTS
  2774.   sr  -  Screen Row
  2775.   sc  -  Screen Column
  2776.  
  2777. RETURNS
  2778.   The window handle of the window at the given coordinates.
  2779.   ERR_NUL  -  Check TcxlErr for Error Code!
  2780.   ERR_ARG  -  Argument Failure
  2781.     TcxlErr Returns:
  2782.     W_NOTFOUND  -  no window found at given screen coordinates
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801. TesSeRact CXL V5.5 Documentation                                    Page 37
  2802. ---------------------------------------------------------------------------
  2803.  
  2804. NAME.........WinLoc            <TcxlWin.H>
  2805.  
  2806. DESCRIPTION
  2807.      Finds the  address of  a window  record using  the specified window
  2808.      handle. This is used internally be several TCXL functions.
  2809.  
  2810. PROTOTYPE....WdfP CTYP WinLoc(WndT wh);
  2811.  
  2812. ARGUMENTS
  2813.   wh  -  Window Handle
  2814.  
  2815. RETURNS
  2816.   The address of the window control structure, or NULL if no record was
  2817.   found.
  2818.  
  2819. SEE ALSO
  2820.   Wdfp (See User's Guide)
  2821.   FldLoc (Page 22)
  2822.   ItmLoc (Page 7)
  2823.  
  2824. EXAMPLE
  2825.      FILE: WIN\WACTIV.C.......Line: 41
  2826.      FILE: WIN\WUNHIDE.C......Line: 36
  2827.      FILE: WIN\WUNLINK.C......Line: 28
  2828.      FILE: WIN\WWPRINTS.C.....Line: 42
  2829.  
  2830. ---------------------------------------------------------------------------
  2831.  
  2832. NAME.........Wisactiv          <TcxlWin.H>    Macro
  2833.  
  2834. DESCRIPTION
  2835.      Determines if the specified window is active.
  2836.  
  2837. PROTOTYPE....IntT Wisactiv(WndT a);
  2838.  
  2839.   #define Wisactiv(a) ((a) == WdfHdl(WctlAct))
  2840.  
  2841. ARGUMENTS
  2842.   a   -  Window Handle
  2843.  
  2844. RETURNS
  2845.   TRUE if specified handle is active
  2846.   FALSE otherwise
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860. Page 38                                    TesSeRact CXL V5.5 Documentation
  2861. ---------------------------------------------------------------------------
  2862.  
  2863. NAME.........Wopen             <TcxlWin.H>
  2864.  
  2865. DESCRIPTION
  2866.      Opens a  screen window  and makes  it active.   The cursor location
  2867.      will be  initialized to window row 0, column 0.  The text attribute
  2868.      (See Appendix  A) will  be initialized to the same attribute as the
  2869.      window.  You can open as many windows as memory permits.
  2870.  
  2871. PROTOTYPE....WndT CTYP Wopen(IntT sr, IntT sc, IntT er, IntT ec, IntT bt,
  2872.             IntT ba, IntT wa);
  2873.  
  2874. ARGUMENTS
  2875.   sr  -  Start Row
  2876.   sc  -  Start Column
  2877.   er  -  End Row
  2878.   ec  -  End Column
  2879.   bt  -  Border Type (See Appendix C [Border Types])
  2880.   ba  -  Border Attribute (See Appendix A)
  2881.   wa  -  Window Attribute (See Appendix A)
  2882.  
  2883. RETURNS
  2884.   The window handle of the new window, or:
  2885.   ERR_ARG  -  Argument Failure
  2886.     TcxlErr Returns:
  2887.     W_INVCOORD - Invalid Coordinates
  2888.     W_INVBTYPE - Invalid Border Type
  2889.  
  2890. SEE ALSO
  2891.   Wpopup (Page 40)
  2892.  
  2893. EXAMPLE
  2894.      FILE: MNU\MNUSHOW.C......Line: 79
  2895.      FILE: HLP\HLPSHOW.C......Line: 84
  2896.      FILE: SEL\SELATTR.C......Line: 32
  2897.      FILE: SEL\_SELECT.C......Line: 98
  2898.      FILE: WIN\WCOPY.C........Line: 38
  2899.      FILE: WIN\WPERROR.C......Line: 43
  2900.      FILE: WIN\WPOPUP.C.......Line: 35
  2901.      FILE: TCXLDEMO.C.........Line: 805, 831, 1218, 1261, 1282, 1376,
  2902.                               1567, 1571, 1709, 2095, 2099, 2138, 2381,
  2903.                               2462, 2505, 2532, 2568
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919. TesSeRact CXL V5.5 Documentation                                    Page 39
  2920. ---------------------------------------------------------------------------
  2921.  
  2922. NAME.........WpopUp            <TcxlWin.H>
  2923.  
  2924. DESCRIPTION
  2925.      This function,  like Wopen(),  opens a  screen window  and makes it
  2926.      active.   However, this  function  will  automatically  center  the
  2927.      window on  the screen;  horizontally, vertically,  or both.    This
  2928.      function will  detect the  screen size, based on the initialization
  2929.      parameters, and react accordingly.
  2930.      For consistency,  the parameter  list for  WpopUp() is identical to
  2931.      Wopen() except  for the  addition of  the flag  byte.  However, the
  2932.      start/end positions are used only for size determination.
  2933.      WpopUp() is identical to calling Wopen() followed by Wcenter().
  2934.  
  2935. PROTOTYPE....WndT CTYP WpopUp(IntT cf, IntT sr, IntT sc, IntT er,
  2936.             IntT ec, IntT bt, IntT ba, IntT wa);
  2937.  
  2938. ARGUMENTS
  2939.   cf  -  Centering Flag (See Appendix C [Centering Flags])
  2940.   sr  -  Start Row
  2941.   sc  -  Start Column
  2942.   er  -  End Row
  2943.   ec  -  End Column
  2944.   bt  -  Border Type (See Appendix C [Border Types])
  2945.   ba  -  Border Attribute (See Appendix A)
  2946.   wa  -  Window Attribute (See Appendix A)
  2947.  
  2948. RETURNS
  2949.   The window handle of the new window, or:
  2950.   ERR_ARG  -  Argument Failure
  2951.     TcxlErr Returns:
  2952.     W_INVCOORD - Invalid Coordinates
  2953.     W_INVBTYPE - Invalid Border Type
  2954.  
  2955. SEE ALSO
  2956.   Wopen (Page 39)
  2957.   Wcenter (Page 47)
  2958.  
  2959. EXAMPLE
  2960.      FILE: TCXLDEMO.C.........Line: 808, 836, 999, 1027, 1073, 1129,
  2961.                               1135, 1158, 1208, 1242, 1468
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978. Page 40                                    TesSeRact CXL V5.5 Documentation
  2979. ---------------------------------------------------------------------------
  2980.  
  2981. NAME.........Wrestore          <TcxlWin.H>
  2982.  
  2983. DESCRIPTION
  2984.      Restores a  previously saved  region of the screen screen and frees
  2985.      the memory allocated by wsave().
  2986.  
  2987. PROTOTYPE....VOID CTYP Wrestore(VcelP wb);
  2988.  
  2989. ARGUMENTS
  2990.   wb  -  Pointer to Window Buffer
  2991.  
  2992. RETURNS......None
  2993.  
  2994. SEE ALSO
  2995.   Wsave (Page 42)
  2996.   Vsave (Page 90)
  2997.   Vrestore (Page 90)
  2998.  
  2999. EXAMPLE
  3000.      FILE: WIN\WCLOSE.C.......Line: 30
  3001.      FILE: WIN\WCOPY.C........Line: 44
  3002.      FILE: WIN\WDRAG.C........Line: 72
  3003.      FILE: WIN\WHIDE.C........Line: 39
  3004.      FILE: WIN\WMOVE.C........Line: 38, 49
  3005.      FILE: WIN\WUNHIDE.C......Line: 44
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037. TesSeRact CXL V5.5 Documentation                                    Page 41
  3038. ---------------------------------------------------------------------------
  3039.  
  3040. NAME.........Wsave             <TcxlWin.H>
  3041.  
  3042. DESCRIPTION
  3043.      Saves a  region of  the screen  and allocates  memory to  hold  the
  3044.      buffer.
  3045.  
  3046. PROTOTYPE....VcelP CTYP Wsave(IntT sr, IntT sc, IntT er, IntT ec);
  3047.  
  3048. ARGUMENTS
  3049.   sr  -  Start Row
  3050.   sc  -  Start Column
  3051.   er  -  End Row
  3052.   ec  -  End Column
  3053.  
  3054. RETURNS
  3055.   Address of newly-created window buffer, or NULL if not enough memory.
  3056.  
  3057. SEE ALSO
  3058.   Wrestore (Page 41)
  3059.   Vsave (Page 90)
  3060.   Vrestore (Page 90)
  3061.  
  3062. EXAMPLE
  3063.      FILE: WIN\WCOPY.C........Line: 30
  3064.      FILE: WIN\WDRAG.C........Line: 61, 64
  3065.      FILE: WIN\WHIDE.C........Line: 29
  3066.      FILE: WIN\WMOVE.C........Line: 35, 42
  3067.      FILE: WIN\WOPEN.C........Line: 58
  3068.      FILE: WIN\WUNHIDE.C......Line: 41
  3069.  
  3070.  
  3071.  
  3072.  
  3073.  
  3074.  
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096. Page 42                                    TesSeRact CXL V5.5 Documentation
  3097. ---------------------------------------------------------------------------
  3098.  
  3099. NAME.........WsetEsc           <TcxlWin.H>    Macro
  3100.  
  3101. DESCRIPTION
  3102.   Sets the Escape checking status for window keyboard input functions
  3103.   that utilize Escape checking.  By default, Escape checking is on. When
  3104.   the user presses [Esc] while Escape checking is off, the keypress will
  3105.   be ignored.  The exception to this is when inside a context-sensitive
  3106.   help screen or when inside a sub-menu of a multi-level menu system.
  3107.  
  3108.  
  3109. PROTOTYPE....VOID WsetEsc(IntT a);
  3110.  
  3111.   #define WsetEsc(a) (WctlEsc = (a))
  3112.  
  3113. ARGUMENTS
  3114.   a   -  0 means turn Esc Checking off, 1 means turn it on.
  3115.  
  3116. RETURNS......None
  3117.  
  3118. ---------------------------------------------------------------------------
  3119.  
  3120. NAME.........WsetFil           <TcxlWin.H>    Macro
  3121.  
  3122. DESCRIPTION
  3123.      Specifies which character the windowing system will use for filling
  3124.      windows with.  By default, it is a space (' ').
  3125.  
  3126. PROTOTYPE....VOID WsetFil(Int a);
  3127.  
  3128.   #define WsetFil(a) (WctlFil = (a))
  3129.  
  3130. ARGUMENTS
  3131.   a   -  Character to use as fill char
  3132.  
  3133. RETURNS......None
  3134.  
  3135. EXAMPLE
  3136.      FILE: TCXLDEMO.C.........Line: 830
  3137.      FILE: TCXLDEMO.C.........Line: 835
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155. TesSeRact CXL V5.5 Documentation                                    Page 43
  3156. ---------------------------------------------------------------------------
  3157.  
  3158. NAME.........WsetFun           <TcxlWin.H>
  3159.  
  3160. DESCRIPTION
  3161.      This function  sets an alternate routine to "fill" a window when it
  3162.      is opened.   See  the default Fill function, WfilBox(), for details
  3163.      on the prototype for this routine.
  3164.  
  3165. PROTOTYPE....IntT CTYP WsetFun(VOID (CTYP *f)(WrdT, WrdT, IntT, IntT));
  3166.  
  3167. ARGUMENTS
  3168.   f   -  Replacement Fill Function
  3169.  
  3170. RETURNS
  3171.   ERR_NUL  -  No Error
  3172.   ERR_ARG  -  Argument Failure
  3173.     TcxlErr Returns:
  3174.     W_NOACTIVE  -  No Active Window
  3175.     W_INVCOORD  -  Invalid Coordinates
  3176.  
  3177. ---------------------------------------------------------------------------
  3178.  
  3179. NAME.........WsetTab           <TcxlWin.H>    Macro
  3180.  
  3181. DESCRIPTION
  3182.      Modifies the  tab width  to be  used when  displaying tabs  in  the
  3183.      active window via the window TTY output functions.  The default tab
  3184.      width is 8.
  3185.  
  3186. PROTOTYPE....VOID WsetTab(IntT a);
  3187.  
  3188.   #define WsetTab(a) (WctlTab = (((a) == 0) ? 1 : (a)))
  3189.  
  3190. ARGUMENTS
  3191.   a   -  Tab Width (in columns)
  3192.  
  3193. RETURNS......None
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214. Page 44                                    TesSeRact CXL V5.5 Documentation
  3215. ---------------------------------------------------------------------------
  3216.  
  3217. NAME.........WsetTxt           <TcxlWin.H>
  3218.  
  3219. DESCRIPTION
  3220.      Sets the  current text  attribute (See  Appendix A)  for the active
  3221.      window.   The current  text attribute  is used  by the  window  TTY
  3222.      output functions for displaying text inside the active window.
  3223.  
  3224. PROTOTYPE....IntT CTYP WsetTxt(IntT a);
  3225.  
  3226. ARGUMENTS
  3227.   a   -  Text Attribute (See Appendix A)
  3228.  
  3229. RETURNS
  3230.   ERR_NUL  -  No Error
  3231.   ERR_ARG  -  Argument Failure
  3232.     TcxlErr Returns:
  3233.     W_NOACTIVE  -  No Active Window
  3234.  
  3235. SEE ALSO
  3236.   Vattrib (Page 107)
  3237.   WchgAtr (Page 53)
  3238.  
  3239. EXAMPLE
  3240.      FILE: MNU\MNUSHOW.C......Line: 398
  3241.      FILE: HLP\HLPSHOW.C......Line: 106, 112, 167, 320
  3242.      FILE: WIN\WPERROR.C......Line: 46
  3243.      FILE: WIN\WPUTS.C........Line: 96, 99, 102, 105, 108, 111, 114, 117
  3244.      FILE: TCXLDEMO.C.........Line: 1306, 1397, 1583, 1610, 1612, 1622,
  3245.                               1753, 2103, 2436, 2451
  3246.  
  3247.  
  3248.  
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273. TesSeRact CXL V5.5 Documentation                                    Page 45
  3274. ---------------------------------------------------------------------------
  3275.  
  3276. NAME.........Wunhide           <TcxlWin.H>
  3277.  
  3278. DESCRIPTION
  3279.      Unhides a  previously hidden  window.   The unhidden window becomes
  3280.      the active window.
  3281.  
  3282. PROTOTYPE....IntT CTYP Wunhide(WndT wh);
  3283.  
  3284. ARGUMENTS
  3285.   wh  -  Window Handle
  3286.  
  3287. RETURNS
  3288.   ERR_NUL  -  No Error
  3289.   ERR_ARG  -  Argument Failure
  3290.     TcxlErr Returns:
  3291.     W_NOTFOUND  -  Window Handle Not Found
  3292.     W_NOHIDDEN  -  No Hidden Windows
  3293.     W_NOTHIDD   -  Window Not Hidden
  3294.  
  3295. SEE ALSO
  3296.   Whide (Page 51)
  3297.  
  3298. EXAMPLE
  3299.      FILE: TCXLDEMO.C.........Line: 1766
  3300.  
  3301. ---------------------------------------------------------------------------
  3302.  
  3303. NAME.........Wunlink           <TcxlWin.H>
  3304.  
  3305. DESCRIPTION
  3306.      Releases all memory allocated by a window, then unlinks it from the
  3307.      window chain,  making it  no longer  accessible.  The screen is not
  3308.      changed in  any way.   If  the passed  window handle  is zero,  the
  3309.      current active window is unlinked.
  3310.  
  3311. PROTOTYPE....IntT CTYP Wunlink(WndT wh);
  3312.  
  3313. ARGUMENTS
  3314.   wh  -  Window Handle
  3315.  
  3316. RETURNS
  3317.   ERR_NUL  -  No Error
  3318.   ERR_ARG  -  Argument Failure
  3319.     TcxlErr Returns:
  3320.     W_NOTFOUND - Input Window Handle Was Not Found
  3321.  
  3322.  
  3323.  
  3324.  
  3325.  
  3326.  
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332. Page 46                                    TesSeRact CXL V5.5 Documentation
  3333. ---------------------------------------------------------------------------
  3334.  
  3335. NAME.........Wwprints          <TcxlWin.H>
  3336.  
  3337. DESCRIPTION
  3338.      Prints a  string to the specified window.  The specified window can
  3339.      be  active,  hidden,  or  blocked.    Control  characters  are  not
  3340.      recognized. Cursor position is not updated.
  3341.  
  3342. PROTOTYPE....IntT CTYP Wwprints(WndT wh, IntT wr, IntT wc,
  3343.             IntT at, ChrP ps);
  3344.  
  3345. ARGUMENTS
  3346.   wh  -  Window Handle
  3347.   wr  -  Window Row
  3348.   wc  -  Window Column
  3349.   at  -  Text Attribute (See Appendix A)
  3350.   ps  -  String to display
  3351.  
  3352. RETURNS
  3353.   ERR_NUL  -  No Error
  3354.   ERR_ARG  -  Argument Failure
  3355.     TcxlErr Returns:
  3356.     W_NOACTIVE  -  No Active Window
  3357.     W_NOTFOUND  -  Window Handle Not Found
  3358.     W_INVCOORD  -  Invalid Window Coordinates
  3359.     W_STRLONG   -  String Too Long (Not All Of String Was Displayed)
  3360.  
  3361. ---------------------------------------------------------------------------
  3362.  
  3363.                           Active Window Movement
  3364.  
  3365. ---------------------------------------------------------------------------
  3366.  
  3367. NAME.........Wcenter           <TcxlWin.H>
  3368.  
  3369. DESCRIPTION
  3370.      Centers the  active window on the screen, horizontally, vertically,
  3371.      or both.
  3372.  
  3373. PROTOTYPE....IntT CTYP Wcenter(IntT cf);
  3374.  
  3375. ARGUMENTS
  3376.   cf  -  Centering Flag (See Appendix C [Centering Flags])
  3377.  
  3378. RETURNS
  3379.   ERR_NUL  -  No Error
  3380.   ERR_ARG  -  Argument Failure
  3381.     TcxlErr Returns:
  3382.     W_ALLOCERR  -  Memory Allocation Error
  3383.     W_NOACTIVE  -  No Active Window
  3384.  
  3385. SEE ALSO
  3386.   Wopen (Page 39)
  3387.   Wpopup (Page 40)
  3388.  
  3389.  
  3390.  
  3391. TesSeRact CXL V5.5 Documentation                                    Page 47
  3392. ---------------------------------------------------------------------------
  3393.  
  3394. NAME.........Wclose            <TcxlWin.H>
  3395.  
  3396. DESCRIPTION
  3397.      Closes the  active window.   If the window has a shadow, it will be
  3398.      closed as well.
  3399.  
  3400. PROTOTYPE....IntT CTYP Wclose(NOARG);
  3401.  
  3402. ARGUMENTS....None
  3403.  
  3404. RETURNS
  3405.   ERR_NUL  -  No Error
  3406.   ERR_ARG  -  Argument Failure
  3407.     TcxlErr Returns:
  3408.     W_NOACTIVE  -  No Active Window
  3409.  
  3410. SEE ALSO
  3411.   Wopen (Page 39)
  3412.   WcloseAll (Page 37)
  3413.  
  3414. EXAMPLE
  3415.      FILE: MNU\MNUSHOW.C......Line: 362
  3416.      FILE: HLP\HLPSHOW.C......Line: 138
  3417.      FILE: SEL\SELATTR.C......Line: 60, 67
  3418.      FILE: SEL\_SELECT.C......Line: 138, 246
  3419.      FILE: WIN\WCLOSEAL.C.....Line: 25
  3420.      FILE: WIN\WPERROR.C......Line: 51
  3421.      FILE: TCXLDEMO.C.........Line: 967, 968, 1050, 1056, 1099, 1139,
  3422.                               1179, 1224, 1225, 1250, 1336, 1385, 1545,
  3423.                               1579, 1627, 1718, 2376, 2572
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450. Page 48                                    TesSeRact CXL V5.5 Documentation
  3451. ---------------------------------------------------------------------------
  3452.  
  3453. NAME.........Wcopy             <TcxlWin.H>
  3454.  
  3455. DESCRIPTION
  3456.      Creates a new window duplicating the active window.  The new window
  3457.      becomes the active window.
  3458.  
  3459. PROTOTYPE....WndT CTYP Wcopy(IntT nr, IntT nc);
  3460.  
  3461. ARGUMENTS
  3462.   nr  -  Start Row of duplicate window
  3463.   sc  -  Start Column of duplicate window
  3464.  
  3465. RETURNS
  3466.   The window handle of the new window, or:
  3467.   ERR_ARG  -  Argument Failure
  3468.     TcxlErr Returns:
  3469.     W_INVCOORD - invalid coordinates
  3470.  
  3471. SEE ALSO
  3472.   Wopen (Page 39)
  3473.  
  3474. EXAMPLE
  3475.      FILE: TCXLDEMO.C.........Line: 1401, 1404
  3476.  
  3477. ---------------------------------------------------------------------------
  3478.  
  3479. NAME.........Wdrag             <TcxlWin.H>
  3480.  
  3481. DESCRIPTION
  3482.      Smoothly drag active window one row/column in given direction.
  3483.  
  3484. PROTOTYPE....IntT CTYP Wdrag(IntT df);
  3485.  
  3486. ARGUMENTS
  3487.   df  -  Direction (See Appendix C [Direction Codes])
  3488.  
  3489. RETURNS
  3490.   ERR_NUL  -  No Error
  3491.   ERR_ARG  -  Argument Failure
  3492.     TcxlErr Returns:
  3493.     W_NOACTIVE  -  No Active Window
  3494.     W_ALLOCERR  -  Memory Allocation Error
  3495.  
  3496. SEE ALSO
  3497.   Wslide (Page 52)
  3498.   Wmove (Page 51)
  3499.  
  3500. EXAMPLE
  3501.      FILE: WIN\WSLIDE.C.......Line: 36, 39, 42, 45
  3502.  
  3503.  
  3504.  
  3505.  
  3506.  
  3507.  
  3508.  
  3509. TesSeRact CXL V5.5 Documentation                                    Page 49
  3510. ---------------------------------------------------------------------------
  3511.  
  3512. NAME.........Wdump             <TcxlWin.H>
  3513.  
  3514. DESCRIPTION
  3515.      Dumps the active window to the default printer (PRN).
  3516.  
  3517. PROTOTYPE....IntT CTYP Wdump(NOARG);
  3518.  
  3519. ARGUMENTS....None
  3520.  
  3521. RETURNS
  3522.   ERR_NUL  -  No Error
  3523.   ERR_ARG  -  Argument Failure
  3524.     TcxlErr Returns:
  3525.     W_NOACTIVE  -  No Active Window
  3526.  
  3527. SEE ALSO
  3528.   windump (Page 165)
  3529.   scrndump (Page 165)
  3530.  
  3531. ---------------------------------------------------------------------------
  3532.  
  3533. NAME.........Whandle           <TcxlWin.H>
  3534.  
  3535. DESCRIPTION
  3536.      Returns the window handle of the active window.
  3537.  
  3538. PROTOTYPE....WndT CTYP Whandle(NOARG);
  3539.  
  3540. ARGUMENTS....None
  3541.  
  3542. RETURNS
  3543.   The handle of the active window, or zero if error;
  3544.     TcxlErr Returns:
  3545.     W_NOACTIVE  -  No Active Window
  3546.  
  3547. SEE ALSO
  3548.   Wactiv (Page 36)
  3549.   Windowat (Page 37)
  3550.   WinLoc (Page 38)
  3551.   Wisactiv (Page 38)
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.  
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568. Page 50                                    TesSeRact CXL V5.5 Documentation
  3569. ---------------------------------------------------------------------------
  3570.  
  3571. NAME.........Whide             <TcxlWin.H>
  3572.  
  3573. DESCRIPTION
  3574.      Hides the active window.  The next window becomes active.
  3575.  
  3576. PROTOTYPE....IntT CTYP Whide(NOARG);
  3577.  
  3578. ARGUMENTS....None
  3579.  
  3580. RETURNS
  3581.   ERR_NUL  -  No Error
  3582.   ERR_ARG  -  Argument Failure
  3583.     TcxlErr Returns:
  3584.     W_ALLOCERR  -  Memory Allocation Error
  3585.     W_NOACTIVE  -  No Active Window
  3586.  
  3587. SEE ALSO
  3588.   Wunhide (Page 46)
  3589.  
  3590. EXAMPLE
  3591.      FILE: TCXLDEMO.C.........Line: 1760
  3592.  
  3593. ---------------------------------------------------------------------------
  3594.  
  3595. NAME.........Wmove             <TcxlWin.H>
  3596.  
  3597. DESCRIPTION
  3598.      Moves the active window to a new location on the screen.
  3599.  
  3600. PROTOTYPE....IntT CTYP Wmove(IntT sr, IntT sc);
  3601.  
  3602. ARGUMENTS
  3603.   sr  -  New Start Row
  3604.   sc  -  New Start Column
  3605.  
  3606. RETURNS
  3607.   ERR_NUL  -  No Error
  3608.   ERR_ARG  -  Argument Failure
  3609.     TcxlErr Returns:
  3610.     W_ALLOCERR  -  Memory Allocation Error
  3611.     W_NOACTIVE  -  No Active Window
  3612.  
  3613. SEE ALSO
  3614.   Wslide (Page 52)
  3615.   Wdrag (Page 49)
  3616.  
  3617. EXAMPLE
  3618.      FILE: WIN\WCENTER.C......Line: 29
  3619.      FILE: TCXLDEMO.C.........Line: 2172
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627. TesSeRact CXL V5.5 Documentation                                    Page 51
  3628. ---------------------------------------------------------------------------
  3629.  
  3630. NAME.........Wsize             <TcxlWin.H>
  3631.  
  3632. DESCRIPTION
  3633.      Adjusts the  size of  the active  window  by  changing  the  screen
  3634.      coordinates of its lower-right corner.
  3635.  
  3636. PROTOTYPE....IntT CTYP Wsize(IntT nr, IntT nc);
  3637.  
  3638. ARGUMENTS
  3639.   nr  -  New Lower-Left Row
  3640.   nc  -  New Lower-Left Column
  3641.  
  3642. RETURNS
  3643.   ERR_NUL  -  No Error
  3644.   ERR_ARG  -  Argument Failure
  3645.     TcxlErr Returns:
  3646.     W_ALLOCERR  -  Memory Allocation Error
  3647.     W_NOACTIVE  -  No Active Window
  3648.     W_INVCOORD  -  Invalid Coordinates
  3649.  
  3650. EXAMPLE
  3651.      FILE: TCXLDEMO.C.........Line: 2496
  3652.  
  3653. ---------------------------------------------------------------------------
  3654.  
  3655. NAME.........Wslide            <TcxlWin.H>
  3656.  
  3657. DESCRIPTION
  3658.      Smoothly slides active window to new screen position.
  3659.  
  3660. PROTOTYPE....IntT CTYP Wslide(IntT sr, IntT sc);
  3661.  
  3662. ARGUMENTS
  3663.   sr  -  New Start Row
  3664.   sc  -  New Start Column
  3665.  
  3666. RETURNS
  3667.   ERR_NUL  -  No Error
  3668.   ERR_ARG  -  Argument Failure
  3669.     TcxlErr Returns:
  3670.     W_ALLOCERR  -  Memory Allocation Error
  3671.     W_NOACTIVE  -  No Active Window
  3672.     W_INVCOORD  -  Invalid Coordinates
  3673.  
  3674. SEE ALSO
  3675.   Wdrag (Page 49)
  3676.   Wmove (Page 51)
  3677.  
  3678. EXAMPLE
  3679.      FILE: TCXLDEMO.C.........Line: 2183
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686. Page 52                                    TesSeRact CXL V5.5 Documentation
  3687. ---------------------------------------------------------------------------
  3688.  
  3689.                            Active Window Control
  3690.  
  3691. ---------------------------------------------------------------------------
  3692.  
  3693. NAME.........WchgAtr           <TcxlWin.H>
  3694.  
  3695. DESCRIPTION
  3696.      Changes the  text attribute  of the active window.  All text within
  3697.      the window will be changed also.
  3698.  
  3699. PROTOTYPE....IntT CTYP WchgAtr(IntT ba, IntT wa);
  3700.  
  3701. ARGUMENTS
  3702.   ba  -  New Border Attribute (See Appendix A)
  3703.   wa  -  New Window Attribute (See Appendix A)
  3704.  
  3705. RETURNS
  3706.   ERR_ARG  -  Argument Failure
  3707.     TcxlErr Returns:
  3708.     W_NOACTIVE  -  No Active Window
  3709.  
  3710. SEE ALSO
  3711.   WsetTxt (Page 45)
  3712.   Vattrib (Page 107)
  3713.  
  3714. EXAMPLE
  3715.      FILE: TCXLDEMO.C.........Line: 1323
  3716.  
  3717. ---------------------------------------------------------------------------
  3718.  
  3719. NAME.........WchkBox           <TcxlWin.H>
  3720.  
  3721. DESCRIPTION
  3722.      Determines whether  input window  box coordinates are valid for use
  3723.      in the active window.
  3724.  
  3725. PROTOTYPE....IntT CTYP WchkBox(IntT sr, IntT sc, IntT er, IntT ec);
  3726.  
  3727. ARGUMENTS
  3728.   sr  -  Start Row
  3729.   sc  -  Start Column
  3730.   er  -  End Row
  3731.   ec  -  End Column
  3732.  
  3733. RETURNS
  3734.   Nonzero if coordinates are invalid
  3735.  
  3736. EXAMPLE
  3737.      FILE: WIN\WDRWBOX.C......Line: 28
  3738.      FILE: WIN\WFILBOX.C......Line: 27
  3739.      FILE: WIN\WSCRBOX.C......Line: 29
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745. TesSeRact CXL V5.5 Documentation                                    Page 53
  3746. ---------------------------------------------------------------------------
  3747.  
  3748. NAME.........WchkCol           <TcxlWin.H>
  3749.  
  3750. DESCRIPTION
  3751.      Determines whether  input window column coordinate is valid for use
  3752.      in the active window.
  3753.  
  3754. PROTOTYPE....IntT CTYP WchkCol(IntT wc);
  3755.  
  3756. ARGUMENTS
  3757.   wc  -  Window Column to check
  3758.  
  3759. RETURNS
  3760.   Nonzero if coordinate is invalid
  3761.  
  3762. ---------------------------------------------------------------------------
  3763.  
  3764. NAME.........WchkPos           <TcxlWin.H>
  3765.  
  3766. DESCRIPTION
  3767.      Determines whether  input window  row, column coordinates are valid
  3768.      for use in the active window.
  3769.  
  3770. PROTOTYPE....IntT CTYP WchkPos(IntT wr, IntT wc);
  3771.  
  3772. ARGUMENTS
  3773.   wr  -  Window Row to check
  3774.   wc  -  Window Column to check
  3775.  
  3776. RETURNS
  3777.   Nonzero if coordinates are invalid
  3778.  
  3779. EXAMPLE
  3780.      FILE: WIN\WCHKBOX.C......Line: 21
  3781.      FILE: WIN\WCURPUT.C......Line: 28
  3782.      FILE: WIN\WGOTOXY.C......Line: 26
  3783.      FILE: WIN\WPRTC.C........Line: 27
  3784.      FILE: WIN\WPRTRJ.C.......Line: 28
  3785.      FILE: WIN\WPRTS.C........Line: 29
  3786.  
  3787.  
  3788.  
  3789.  
  3790.  
  3791.  
  3792.  
  3793.  
  3794.  
  3795.  
  3796.  
  3797.  
  3798.  
  3799.  
  3800.  
  3801.  
  3802.  
  3803.  
  3804. Page 54                                    TesSeRact CXL V5.5 Documentation
  3805. ---------------------------------------------------------------------------
  3806.  
  3807. NAME.........WchkRow           <TcxlWin.H>
  3808.  
  3809. DESCRIPTION
  3810.      Determines whether  input window  row  is  valid  for  use  in  the
  3811.      activewindow.
  3812.  
  3813. PROTOTYPE....IntT CTYP WchkRow(IntT wr);
  3814.  
  3815. ARGUMENTS
  3816.   wr  -  Window Row to check
  3817.  
  3818. RETURNS
  3819.   Nonzero if coordinate is invalid
  3820.  
  3821. EXAMPLE
  3822.      FILE: WIN\WCHKPOS.C......Line: 21
  3823.      FILE: WIN\WLINDEL.C......Line: 27
  3824.      FILE: WIN\WLININS.C......Line: 27
  3825.      FILE: WIN\WPRTCEN.C......Line: 29
  3826.  
  3827. ---------------------------------------------------------------------------
  3828.  
  3829. NAME.........Wclear            <TcxlWin.H>    Macro
  3830.  
  3831. DESCRIPTION
  3832.      Clears the active window and homes the cursor.
  3833.  
  3834. PROTOTYPE....IntT Wclear(NOARG);
  3835.  
  3836.   #define Wclear() (WclrWin(WdfDat(WctlAct)))
  3837.  
  3838. ARGUMENTS....None
  3839.  
  3840. RETURNS
  3841.   ERR_NUL  -  No Error
  3842.   ERR_ARG  -  Argument Failure
  3843.     TcxlErr Returns:
  3844.     W_NOACTIVE - No Active Window
  3845.  
  3846. SEE ALSO
  3847.   WclrWin (Page 57)
  3848.   Vclear (Page 94)
  3849.   VclrScr (Page 94)
  3850.   VclrBox (Page 88)
  3851.   VfilBox (Page 89)
  3852.  
  3853. EXAMPLE
  3854.      FILE: HLP\HLPSHOW.C......Line: 215, 253
  3855.      FILE: WIN\WPUTS.C........Line: 132
  3856.      FILE: TCXLDEMO.C.........Line: 1044, 1491, 1582
  3857.  
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863. TesSeRact CXL V5.5 Documentation                                    Page 55
  3864. ---------------------------------------------------------------------------
  3865.  
  3866. NAME.........WclrEol           <TcxlWin.H>
  3867.  
  3868. DESCRIPTION
  3869.      Clears from the cursor to the end of the active window's line.  The
  3870.      cursor's position is not updated.
  3871.  
  3872. PROTOTYPE....IntT CTYP WclrEol(NOARG);
  3873.  
  3874. ARGUMENTS....None
  3875.  
  3876. RETURNS
  3877.   ERR_NUL  -  No Error
  3878.   ERR_ARG  -  Argument Failure
  3879.     TcxlErr Returns:
  3880.     W_NOACTIVE - No Active Window
  3881.  
  3882. SEE ALSO
  3883.   VclrEol (Page 94)
  3884.   VputSpa (Page 96)
  3885.  
  3886. EXAMPLE
  3887.      FILE: MNU\MNUSHOW.C......Line: 400
  3888.      FILE: WIN\WCLREOS.C......Line: 31, 36
  3889.      FILE: WIN\WPUTS.C........Line: 138
  3890.      FILE: TCXLDEMO.C.........Line: 1646
  3891.  
  3892. ---------------------------------------------------------------------------
  3893.  
  3894. NAME.........WclrEos           <TcxlWin.H>
  3895.  
  3896. DESCRIPTION
  3897.      Clears from  the cursor  to the  end of  the active  window.    The
  3898.      cursor's position is not updated.
  3899.  
  3900. PROTOTYPE....IntT WclrEos(NOARG);
  3901.  
  3902. ARGUMENTS....None
  3903.  
  3904. RETURNS
  3905.   ERR_NUL  -  No Error
  3906.   ERR_ARG  -  Argument Failure
  3907.     TcxlErr Returns:
  3908.     W_NOACTIVE - No Active Window
  3909.  
  3910. SEE ALSO
  3911.   VputSpa (Page 96)
  3912.  
  3913. EXAMPLE
  3914.      FILE: WIN\WPUTS.C........Line: 135
  3915.  
  3916.  
  3917.  
  3918.  
  3919.  
  3920.  
  3921.  
  3922. Page 56                                    TesSeRact CXL V5.5 Documentation
  3923. ---------------------------------------------------------------------------
  3924.  
  3925. NAME.........WclrWin           <TcxlWin.H>
  3926.  
  3927. DESCRIPTION
  3928.      Clears the  active  window  using  specified  text  attribute  (See
  3929.      Appendix A),  then homes  the cursor.   This is the same as calling
  3930.      WchgAtr(), followed  by Wclear(). [NOTE!  Wclear() is implemeted as
  3931.      a macro that calls WclrWin().]
  3932.  
  3933. PROTOTYPE....IntT CTYP WclrWin(IntT at);
  3934.  
  3935. ARGUMENTS
  3936.   at  -  Attribute (See Appendix A)
  3937.  
  3938. RETURNS
  3939.   ERR_NUL  -  No Error
  3940.   ERR_ARG  -  Argument Failure
  3941.     TcxlErr Returns:
  3942.     W_NOACTIVE - No Active Window
  3943.  
  3944. SEE ALSO
  3945.   Wclear (Page 55)
  3946.   Vclear (Page 94)
  3947.   VclrScr (Page 94)
  3948.   VclrBox (Page 88)
  3949.   VfilBox (Page 89)
  3950.  
  3951. ---------------------------------------------------------------------------
  3952.  
  3953. NAME.........WfilBox           <TcxlWin.H>
  3954.  
  3955. DESCRIPTION
  3956.      Fills in  a region  of active window with a specified character and
  3957.      attribute (See Appendix A).
  3958.  
  3959. PROTOTYPE....IntT CTYP WfilBox(IntT sr, IntT sc, IntT er, IntT ec,
  3960.             IntT ch, IntT at);
  3961.  
  3962. ARGUMENTS
  3963.   sr  -  Start Row
  3964.   sc  -  Start Column
  3965.   er  -  End Row
  3966.   ec  -  End Column
  3967.   ch  -  Character to use
  3968.   at  -  Attribute (See Appendix A)
  3969.  
  3970. RETURNS
  3971.   ERR_NUL  -  No Error
  3972.  
  3973.  
  3974.  
  3975.  
  3976.  
  3977.  
  3978.  
  3979.  
  3980.  
  3981. TesSeRact CXL V5.5 Documentation                                    Page 57
  3982. ---------------------------------------------------------------------------
  3983.  
  3984. NAME.........WlinDel           <TcxlWin.H>
  3985.  
  3986. DESCRIPTION
  3987.      Deletes a  line from  the active  window.  Depending upon the input
  3988.      scroll direction,  the lines above or below the line to delete will
  3989.      scroll to  fill in  the deleted  line in,  and a blank line will be
  3990.      added.   If what  you really  want to do is clear the line, you may
  3991.      want to use WclrEol() instead.
  3992.  
  3993. PROTOTYPE....IntT CTYP WlinDel(IntT wr, IntT df);
  3994.  
  3995. ARGUMENTS
  3996.   wr  -  Window Row to delete
  3997.   df  -  Direction (See Appendix C [Direction Codes])
  3998.  
  3999. RETURNS
  4000.   ERR_NUL  -  No Error
  4001.   ERR_ARG  -  Argument Failure
  4002.     TcxlErr Returns:
  4003.     W_NOACTIVE  -  No Active Window
  4004.     W_INVCOORD  -  Invalid Window Row
  4005.  
  4006. ---------------------------------------------------------------------------
  4007.  
  4008. NAME.........WlinIns           <TcxlWin.H>
  4009.  
  4010. DESCRIPTION
  4011.      Inserts a  blank line  in the  active window.   Depending  upon the
  4012.      input scroll  direction, lines  will shift  up or down to make room
  4013.      for the new line.
  4014.  
  4015. PROTOTYPE....IntT CTYP WlinIns(IntT wr, IntT di);
  4016.  
  4017. ARGUMENTS
  4018.   wr  -  Window Row to delete
  4019.   df  -  Direction (See Appendix C [Direction Codes])
  4020.  
  4021. RETURNS
  4022.   ERR_NUL  -  No Error
  4023.   ERR_ARG  -  Argument Failure
  4024.     TcxlErr Returns:
  4025.     W_NOACTIVE  -  No Active Window
  4026.     W_INVCOORD  -  Invalid Window Row
  4027.  
  4028.  
  4029.  
  4030.  
  4031.  
  4032.  
  4033.  
  4034.  
  4035.  
  4036.  
  4037.  
  4038.  
  4039.  
  4040. Page 58                                    TesSeRact CXL V5.5 Documentation
  4041. ---------------------------------------------------------------------------
  4042.  
  4043. NAME.........WscrBox           <TcxlWin.H>
  4044.  
  4045. DESCRIPTION
  4046.      Scrolls a region of the active window up or down.
  4047.  
  4048. PROTOTYPE....IntT CTYP WscrBox(IntT sr, IntT sc, IntT er, IntT ec,
  4049.             IntT n, IntT d);
  4050.  
  4051. ARGUMENTS
  4052.   sr  -  Start Row
  4053.   sc  -  Start Column
  4054.   er  -  End Row
  4055.   ec  -  End Column
  4056.   n   -  Number of lines to scroll
  4057.   d   -  Direction (Up or Down only!) (See Appendix C [Direction Codes])
  4058.  
  4059. RETURNS
  4060.   ERR_NUL  -  No Error
  4061.   ERR_ARG  -  Argument Failure
  4062.     TcxlErr Returns:
  4063.     W_NOACTIVE  -  No Active Window
  4064.     W_INVCOORD  -  Invalid Window Coordinates
  4065.  
  4066. SEE ALSO
  4067.   Vscroll (Page 98)
  4068.  
  4069. EXAMPLE
  4070.      FILE: WIN\WLINDEL.C......Line: 39
  4071.      FILE: WIN\WLININS.C......Line: 39
  4072.  
  4073.  
  4074.  
  4075.  
  4076.  
  4077.  
  4078.  
  4079.  
  4080.  
  4081.  
  4082.  
  4083.  
  4084.  
  4085.  
  4086.  
  4087.  
  4088.  
  4089.  
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098.  
  4099. TesSeRact CXL V5.5 Documentation                                    Page 59
  4100. ---------------------------------------------------------------------------
  4101.  
  4102. NAME.........WscrWin           <TcxlWin.H>
  4103.  
  4104. DESCRIPTION
  4105.      Scrolls text lines within the active window, up or down.
  4106.  
  4107. PROTOTYPE....IntT WscrWin(IntT n, IntT d);
  4108.  
  4109. ARGUMENTS
  4110.   n   -  Number of lines to scroll
  4111.   d   -  Direction (Up or Down only!) (See Appendix C [Direction Codes])
  4112.  
  4113. RETURNS
  4114.   ERR_NUL  -  No Error
  4115.   ERR_ARG  -  Argument Failure
  4116.     TcxlErr Returns:
  4117.     W_NOACTIVE  -  No Active Window
  4118.  
  4119. SEE ALSO
  4120.   Vscroll (Page 98)
  4121.  
  4122. EXAMPLE
  4123.      FILE: SEL\_SELECT.C......Line: 382, 402
  4124.      FILE: WIN\WPUTC.C........Line: 67
  4125.      FILE: WIN\WPUTS.C........Line: 50
  4126.  
  4127.  
  4128.  
  4129.  
  4130.  
  4131.  
  4132.  
  4133.  
  4134.  
  4135.  
  4136.  
  4137.  
  4138.  
  4139.  
  4140.  
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148.  
  4149.  
  4150.  
  4151.  
  4152.  
  4153.  
  4154.  
  4155.  
  4156.  
  4157.  
  4158. Page 60                                    TesSeRact CXL V5.5 Documentation
  4159. ---------------------------------------------------------------------------
  4160.  
  4161.                                Active Border
  4162.  
  4163. ---------------------------------------------------------------------------
  4164.  
  4165. NAME.........Wborder           <TcxlWin.H>
  4166.  
  4167. DESCRIPTION
  4168.      Changes the  active window's border type.  If changing to or from a
  4169.      borderless window, the window's effective area will change as well,
  4170.      changing relative coordinates within the window.
  4171.  
  4172. PROTOTYPE....IntT CTYP Wborder(IntT bt);
  4173.  
  4174. ARGUMENTS
  4175.   bt  -  Border Type (See Appendix C [Border Types])
  4176.  
  4177. RETURNS
  4178.   ERR_NUL  -  No Error
  4179.   ERR_ARG  -  Argument Failure
  4180.     TcxlErr Returns:
  4181.     W_NOACTIVE  -  No Active Window
  4182.     W_INVBTYPE  -  Invalid Border Type
  4183.  
  4184. SEE ALSO
  4185.   VdrwBox (Page 89)
  4186.  
  4187. EXAMPLE
  4188.      FILE: WIN\WSIZE.C........Line: 82
  4189.      FILE: TCXLDEMO.C.........Line: 1313
  4190.  
  4191. ---------------------------------------------------------------------------
  4192.  
  4193. NAME.........Wbprintc          <TcxlWin.H>
  4194.  
  4195. DESCRIPTION
  4196.      Displays a character on a window's border.
  4197.  
  4198. PROTOTYPE....IntT CTYP Wbprintc(IntT bd, IntT of, IntT at, IntT ch);
  4199.  
  4200. ARGUMENTS
  4201.   bd  -  Border Side  (See Appendix C [Border Sides])
  4202.   of  -  Offset for display
  4203.   at  -  Text Attribute (See Appendix A)
  4204.   ch  -  Character to display
  4205.  
  4206. RETURNS
  4207.   ERR_NUL  -  No Error
  4208.   ERR_ARG  -  Argument Failure
  4209.     TcxlErr Returns:
  4210.     W_NOACTIVE  -  No Active Window
  4211.     W_NOBORDER  -  Window Has No Border
  4212.     W_INVCOORD  -  Border Offset Out Of Range
  4213.  
  4214.  
  4215.  
  4216.  
  4217. TesSeRact CXL V5.5 Documentation                                    Page 61
  4218. ---------------------------------------------------------------------------
  4219.  
  4220. NAME.........WdrwBox           <TcxlWin.H>
  4221.  
  4222. DESCRIPTION
  4223.      "Draws" a text box in the active window.
  4224.  
  4225. PROTOTYPE....IntT CTYP WdrwBox(IntT sr, IntT sc, IntT er, IntT ec,
  4226.             IntT bt, IntT at);
  4227.  
  4228. ARGUMENTS
  4229.   sr  -  Start Row
  4230.   sc  -  Start Column
  4231.   er  -  End Row
  4232.   ec  -  End Column
  4233.   bt  -  Border Type (See Appendix C [Border Types])
  4234.   ba  -  Border Attribute (See Appendix A)
  4235.  
  4236. RETURNS
  4237.   ERR_NUL  -  No Error
  4238.   ERR_ARG  -  Argument Failure
  4239.     TcxlErr Returns:
  4240.     W_NOACTIVE  -  No Active Window
  4241.     W_NOBORDER  -  Window Has No Border
  4242.     W_INVCOORD  -  Border Offset Out Of Range
  4243.  
  4244. SEE ALSO
  4245.   VdrwBox (Page 89)
  4246.  
  4247. EXAMPLE
  4248.      FILE: SEL\SELATTR.C......Line: 51, 54
  4249.  
  4250.  
  4251.  
  4252.  
  4253.  
  4254.  
  4255.  
  4256.  
  4257.  
  4258.  
  4259.  
  4260.  
  4261.  
  4262.  
  4263.  
  4264.  
  4265.  
  4266.  
  4267.  
  4268.  
  4269.  
  4270.  
  4271.  
  4272.  
  4273.  
  4274.  
  4275.  
  4276. Page 62                                    TesSeRact CXL V5.5 Documentation
  4277. ---------------------------------------------------------------------------
  4278.  
  4279. NAME.........WdrwHor           <TcxlWin.H>
  4280.  
  4281. DESCRIPTION
  4282.      "Draws" a  horizontal text  line in  active window using characters
  4283.      defined by  given box  type.  If horizontal line crosses a vertical
  4284.      line, an appropriate intersection or corner will be used.
  4285.  
  4286. PROTOTYPE....IntT CTYP WdrwHor(IntT sr, IntT sc, IntT nc,
  4287.             IntT bt, IntT at);
  4288.  
  4289. ARGUMENTS
  4290.   sr  -  Start Row
  4291.   sc  -  Start Columns
  4292.   nc  -  Number of Columns
  4293.   bt  -  Border Type (See Appendix C [Border Types])
  4294.   at  -  Attribute (See Appendix A)
  4295.  
  4296. RETURNS
  4297.   ERR_NUL  -  No Error
  4298.   ERR_ARG  -  Argument Failure
  4299.     TcxlErr Returns:
  4300.     W_NOACTIVE  -  No Active Window
  4301.     W_INVCOORD  -  Text Line Too Long For Window
  4302.     W_INVBTYPE  -  Invalid Box Type
  4303.  
  4304. EXAMPLE
  4305.      FILE: TCXLDEMO.C.........Line: 1777, 2098, 2487, 2488
  4306.  
  4307.  
  4308.  
  4309.  
  4310.  
  4311.  
  4312.  
  4313.  
  4314.  
  4315.  
  4316.  
  4317.  
  4318.  
  4319.  
  4320.  
  4321.  
  4322.  
  4323.  
  4324.  
  4325.  
  4326.  
  4327.  
  4328.  
  4329.  
  4330.  
  4331.  
  4332.  
  4333.  
  4334.  
  4335. TesSeRact CXL V5.5 Documentation                                    Page 63
  4336. ---------------------------------------------------------------------------
  4337.  
  4338. NAME.........WdrwVer           <TcxlWin.H>
  4339.  
  4340. DESCRIPTION
  4341.      "Draws" a  vertical text line in the active window using characters
  4342.      defined by  the given  box type.   If  the vertical  line crosses a
  4343.      horizontal line,  an appropriate  intersection or  corner  will  be
  4344.      displayed.
  4345.  
  4346. PROTOTYPE....IntT CTYP WdrwVer(IntT sr, IntT sc, IntT n,
  4347.             IntT bt, IntT at);
  4348.  
  4349. ARGUMENTS
  4350.   sr  -  Start Row
  4351.   sc  -  Start Columns
  4352.   n   -  Number of Rows
  4353.   bt  -  Border Type (See Appendix C [Border Types])
  4354.   at  -  Attribute (See Appendix A)
  4355.  
  4356. RETURNS
  4357.   ERR_NUL  -  No Error
  4358.   ERR_ARG  -  Argument Failure
  4359.     TcxlErr Returns:
  4360.     W_NOACTIVE  -  No Active Window
  4361.     W_INVCOORD  -  Text Line Too Long For Window
  4362.     W_INVBTYPE  -  Invalid Box Type
  4363.  
  4364. EXAMPLE
  4365.      FILE: TCXLDEMO.C.........Line: 2616
  4366.  
  4367.  
  4368.  
  4369.  
  4370.  
  4371.  
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377.  
  4378.  
  4379.  
  4380.  
  4381.  
  4382.  
  4383.  
  4384.  
  4385.  
  4386.  
  4387.  
  4388.  
  4389.  
  4390.  
  4391.  
  4392.  
  4393.  
  4394. Page 64                                    TesSeRact CXL V5.5 Documentation
  4395. ---------------------------------------------------------------------------
  4396.  
  4397. NAME.........Wmessage          <TcxlWin.H>
  4398.  
  4399. DESCRIPTION
  4400.      Displays text on the top or bottom border of the active window.
  4401.  
  4402. PROTOTYPE....IntT CTYP Wmessage(ChrP ps, IntT bo, IntT lo, IntT at);
  4403.  
  4404. ARGUMENTS
  4405.   ps  -  Message String
  4406.   bo  -  Border Sides (See Appendix C [Border Sides])
  4407.   lo  -  Left Offset to Display Message
  4408.   at  -  Attribute (See Appendix A)
  4409.  
  4410. RETURNS
  4411.   ERR_NUL  -  No Error
  4412.   ERR_ARG  -  Argument Failure
  4413.     TcxlErr Returns:
  4414.     W_NOACTIVE  -  No Active Window
  4415.     W_STRLONG   -  String Could Not Fit In Window
  4416.     W_NOBORDER  -  Window Has No Border
  4417.  
  4418. EXAMPLE
  4419.      FILE: HLP\HLPSHOW.C......Line: 181
  4420.      FILE: SEL\SELATTR.C......Line: 147
  4421.      FILE: TCXLDEMO.C.........Line: 1004, 1005, 1006, 1007, 1213, 2330
  4422.  
  4423.  
  4424.  
  4425.  
  4426.  
  4427.  
  4428.  
  4429.  
  4430.  
  4431.  
  4432.  
  4433.  
  4434.  
  4435.  
  4436.  
  4437.  
  4438.  
  4439.  
  4440.  
  4441.  
  4442.  
  4443.  
  4444.  
  4445.  
  4446.  
  4447.  
  4448.  
  4449.  
  4450.  
  4451.  
  4452.  
  4453. TesSeRact CXL V5.5 Documentation                                    Page 65
  4454. ---------------------------------------------------------------------------
  4455.  
  4456. NAME.........Wtitle            <TcxlWin.H>
  4457.  
  4458. DESCRIPTION
  4459.      Gives active  window a  title and displays title on top border line
  4460.      of window.   If  active window  has no  border, then  the  window's
  4461.      record will be updated, but no title will be visible.
  4462.  
  4463. PROTOTYPE....IntT CTYP Wtitle(ChrP ps, IntT tp, IntT ta);
  4464.  
  4465. ARGUMENTS
  4466.   ps  -  Title String
  4467.   tp  -  Title Position (See Appendix C [Title Positions])
  4468.   ta  -  Attribute (See Appendix A)
  4469.  
  4470. RETURNS
  4471.   ERR_NUL  -  No Error
  4472.   ERR_ARG  -  Argument Failure
  4473.   ERR_MEM  -  Memory Allocation Failure
  4474.     TcxlErr Returns:
  4475.     W_NOACTIVE  -  No Active Window
  4476.  
  4477. EXAMPLE
  4478.      FILE: HLP\HLPSHOW.C......Line: 86
  4479.      FILE: SEL\SELFILE.C......Line: 195
  4480.      FILE: WIN\WBORDER.C......Line: 38
  4481.      FILE: WIN\WCHGATR.C......Line: 35
  4482.      FILE: WIN\WPERROR.C......Line: 45
  4483.      FILE: TCXLDEMO.C.........Line: 1003, 1162, 1212, 1570, 1574, 1668,
  4484.                               1710
  4485.  
  4486.  
  4487.  
  4488.  
  4489.  
  4490.  
  4491.  
  4492.  
  4493.  
  4494.  
  4495.  
  4496.  
  4497.  
  4498.  
  4499.  
  4500.  
  4501.  
  4502.  
  4503.  
  4504.  
  4505.  
  4506.  
  4507.  
  4508.  
  4509.  
  4510.  
  4511.  
  4512. Page 66                                    TesSeRact CXL V5.5 Documentation
  4513. ---------------------------------------------------------------------------
  4514.  
  4515.                                Active Shadow
  4516.  
  4517. ---------------------------------------------------------------------------
  4518.  
  4519. NAME.........Wshadoff          <TcxlWin.H>
  4520.  
  4521. DESCRIPTION
  4522.      Removes the  shadow from  the active  window, if  one exists.  This
  4523.      function is  only needed  when you  want to  prematurely remove the
  4524.      active window's  shadow.  The wclose() function automatically calls
  4525.      Wshadoff() when it closes a window.
  4526.  
  4527. PROTOTYPE....IntT CTYP Wshadoff(NOARG);
  4528.  
  4529. ARGUMENTS....None
  4530.  
  4531. RETURNS
  4532.   ERR_NUL  -  No Error
  4533.   ERR_ARG  -  Argument Failure
  4534.   ERR_MEM  -  Memory Allocation Failure
  4535.     TcxlErr Returns:
  4536.     W_NOACTIVE  -  No Active Window
  4537.  
  4538. EXAMPLE
  4539.      FILE: WIN\WCLOSE.C.......Line: 29
  4540.      FILE: WIN\WDRAG.C........Line: 59
  4541.      FILE: WIN\WHIDE.C........Line: 34
  4542.      FILE: WIN\WMOVE.C........Line: 33
  4543.      FILE: WIN\WSIZE.C........Line: 42
  4544.      FILE: WIN\WSLIDE.C.......Line: 33
  4545.  
  4546.  
  4547.  
  4548.  
  4549.  
  4550.  
  4551.  
  4552.  
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558.  
  4559.  
  4560.  
  4561.  
  4562.  
  4563.  
  4564.  
  4565.  
  4566.  
  4567.  
  4568.  
  4569.  
  4570.  
  4571. TesSeRact CXL V5.5 Documentation                                    Page 67
  4572. ---------------------------------------------------------------------------
  4573.  
  4574. NAME.........Wshadow           <TcxlWin.H>
  4575.  
  4576. DESCRIPTION
  4577.      Gives the  active window  a shadow.  The shadow will be cast to the
  4578.      right of  the  window  and  will  be  translucent  (the  characters
  4579.      underneath the shadow will show through in the given attribute).
  4580.  
  4581. PROTOTYPE....IntT CTYP Wshadow(IntT at);
  4582.  
  4583. ARGUMENTS
  4584.   at  -  Attribute for shadow (most effective is _BLACK | DGREY)
  4585.  
  4586. RETURNS
  4587.   ERR_NUL  -  No Error
  4588.   ERR_ARG  -  Argument Failure
  4589.   ERR_MEM  -  Memory Allocation Failure
  4590.     TcxlErr Returns:
  4591.     W_NOACTIVE  -  No Active Window
  4592.  
  4593. EXAMPLE
  4594.      FILE: WIN\WCOPY.C........Line: 46
  4595.      FILE: WIN\WDRAG.C........Line: 125
  4596.      FILE: WIN\WMOVE.C........Line: 58
  4597.      FILE: WIN\WSIZE.C........Line: 84
  4598.      FILE: WIN\WSLIDE.C.......Line: 48
  4599.      FILE: WIN\WUNHIDE.C......Line: 59
  4600.      FILE: TCXLDEMO.C.........Line: 2164
  4601.  
  4602.  
  4603.  
  4604.  
  4605.  
  4606.  
  4607.  
  4608.  
  4609.  
  4610.  
  4611.  
  4612.  
  4613.  
  4614.  
  4615.  
  4616.  
  4617.  
  4618.  
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624.  
  4625.  
  4626.  
  4627.  
  4628.  
  4629.  
  4630. Page 68                                    TesSeRact CXL V5.5 Documentation
  4631. ---------------------------------------------------------------------------
  4632.  
  4633.                                Active Cursor
  4634.  
  4635. ---------------------------------------------------------------------------
  4636.  
  4637. NAME.........WcurGet           <TcxlWin.H>    Macro
  4638. .............WcurGt_
  4639.  
  4640. DESCRIPTION
  4641.      Reads the current cursor coordinates of the active window.
  4642.  
  4643. PROTOTYPE....VOID WcurGet(VposT rc);
  4644. .............VposT CTYP WcurGt_(NOARG);
  4645.  
  4646.   #define WcurGet(rc) (VposW(rc) = WcurGt_())
  4647.  
  4648. ARGUMENTS....None
  4649.  
  4650. RETURNS
  4651.   A structure, filled in with the current row/column position of the
  4652.   active window.
  4653.  
  4654. SEE ALSO
  4655.   WposGet (Page 72)
  4656.   VcurGet (Page 99)
  4657.   VposGet (Page 103)
  4658.  
  4659. EXAMPLE
  4660.      FILE: WIN\WCLREOS.C......Line: 28
  4661.      FILE: WIN\WPUTC.C........Line: 44
  4662.      FILE: WIN\WPUTCEN.C......Line: 29
  4663.      FILE: WIN\WPUTRJ.C.......Line: 29
  4664.      FILE: WIN\WPUTS.C........Line: 75, 120, 124
  4665.      FILE: TCXLDEMO.C.........Line: 2634
  4666.  
  4667.  
  4668.  
  4669.  
  4670.  
  4671.  
  4672.  
  4673.  
  4674.  
  4675.  
  4676.  
  4677.  
  4678.  
  4679.  
  4680.  
  4681.  
  4682.  
  4683.  
  4684.  
  4685.  
  4686.  
  4687.  
  4688.  
  4689. TesSeRact CXL V5.5 Documentation                                    Page 69
  4690. ---------------------------------------------------------------------------
  4691.  
  4692. NAME.........WcurPut           <TcxlWin.H>    Macro
  4693. .............WcurPt_
  4694.  
  4695. DESCRIPTION
  4696.      This function is functionally identical to Wgotoxy, except it takes
  4697.      a Vpos  structure as  a parameter,  instead of  separate  row/colum
  4698.      figures.
  4699.  
  4700. PROTOTYPE....IntT WcurPut(VposT rc);
  4701. .............IntT CTYP WcurPt_(WrdT rc);
  4702.  
  4703.   #define WcurPut(rc) (WcurPt_(VposW(rc)))
  4704.  
  4705. ARGUMENTS
  4706.   rc  -  Vpos structure with Window coordinates
  4707.  
  4708. RETURNS
  4709.   ERR_NUL  -  No Error
  4710.   ERR_ARG  -  Argument Failure
  4711.     TcxlErr Returns:
  4712.     W_NOACTIVE  -  No Active Window
  4713.     W_INVCOORD  -  Invalid Coordinates
  4714.  
  4715. SEE ALSO
  4716.   WcurPut (Page 70)
  4717.   Wgotoxy (Page 71)
  4718.   Wpgotoxy (Page 72)
  4719.   VcurPut (Page 101)
  4720.   Vgotoxy (Page 103)
  4721.  
  4722. EXAMPLE
  4723.      FILE: MNU\MNUSHOW.C......Line: 380, 397
  4724.      FILE: ENT\ENTSHOW.C......Line: 104, 108
  4725.      FILE: WIN\WCLREOS.C......Line: 35, 38
  4726.      FILE: WIN\WPUTCEN.C......Line: 36
  4727.      FILE: WIN\WPUTRJ.C.......Line: 36
  4728.      FILE: WIN\WPUTS.C........Line: 126
  4729.  
  4730.  
  4731.  
  4732.  
  4733.  
  4734.  
  4735.  
  4736.  
  4737.  
  4738.  
  4739.  
  4740.  
  4741.  
  4742.  
  4743.  
  4744.  
  4745.  
  4746.  
  4747.  
  4748. Page 70                                    TesSeRact CXL V5.5 Documentation
  4749. ---------------------------------------------------------------------------
  4750.  
  4751. NAME.........Wgotoxy           <TcxlWin.H>
  4752.  
  4753. DESCRIPTION
  4754.      This function  moves the  cursor in the active window to the passed
  4755.      row/column coordinates.
  4756.  
  4757. PROTOTYPE....IntT CTYP Wgotoxy(IntT wr, IntT wc);
  4758.  
  4759. ARGUMENTS
  4760.   wr  -  Window Row
  4761.   wc  -  Window Column
  4762.  
  4763. RETURNS
  4764.   ERR_NUL  -  No Error
  4765.   ERR_ARG  -  Argument Failure
  4766.     TcxlErr Returns:
  4767.     W_NOACTIVE  -  No Active Window
  4768.     W_INVCOORD  -  Invalid Coordinates
  4769.  
  4770. SEE ALSO
  4771.   WcurPut (Page 70)
  4772.   Wpgotoxy (Page 72)
  4773.   VcurPut (Page 101)
  4774.   Vgotoxy (Page 103)
  4775.  
  4776. EXAMPLE
  4777.      FILE: ENT\ENTFLD.C.......Line: 38
  4778.      FILE: SEL\SELATTR.C......Line: 52
  4779.      FILE: SEL\_SELECT.C......Line: 438
  4780.      FILE: WIN\WBORDER.C......Line: 36
  4781.      FILE: WIN\WCLRWIN.C......Line: 32
  4782.      FILE: WIN\WOPEN.C........Line: 95
  4783.      FILE: WIN\WPGOTOXY.C.....Line: 30
  4784.      FILE: WIN\WSIZE.C........Line: 73
  4785.      FILE: TCXLDEMO.C.........Line: 1645, 2102, 2470
  4786.  
  4787.  
  4788.  
  4789.  
  4790.  
  4791.  
  4792.  
  4793.  
  4794.  
  4795.  
  4796.  
  4797.  
  4798.  
  4799.  
  4800.  
  4801.  
  4802.  
  4803.  
  4804.  
  4805.  
  4806.  
  4807. TesSeRact CXL V5.5 Documentation                                    Page 71
  4808. ---------------------------------------------------------------------------
  4809.  
  4810. NAME.........Wpgotoxy          <TcxlWin.H>
  4811.  
  4812. DESCRIPTION
  4813.      Sets cursor  coordinates within  the  active  window.    If  cursor
  4814.      coordinates are out of the window, wpgotoxy() will try to wrap them
  4815.      around to fit in the window.
  4816.  
  4817. PROTOTYPE....IntT CTYP Wpgotoxy(IntT wr, IntT wc);
  4818.  
  4819. ARGUMENTS
  4820.   wr  -  Window Row
  4821.   wc  -  Window Column
  4822.  
  4823. RETURNS
  4824.   ERR_NUL  -  No Error
  4825.   ERR_ARG  -  Argument Failure
  4826.     TcxlErr Returns:
  4827.     W_NOACTIVE  -  No Active Window
  4828.  
  4829. SEE ALSO
  4830.   WcurPut (Page 70)
  4831.   Wgotoxy (Page 71)
  4832.   VcurPut (Page 101)
  4833.   Vgotoxy (Page 103)
  4834.  
  4835. ---------------------------------------------------------------------------
  4836.  
  4837. NAME.........WposGet           <TcxlWin.H>    Macro
  4838.  
  4839. DESCRIPTION
  4840.      Reads the current cursor coordinates of the active window.
  4841.  
  4842. PROTOTYPE....VOID WposGet(IntT r, IntT c);
  4843.  
  4844.   #define WposGet(r,c) ((c)=MsInt(WcurGt_()); (r)=((c)>>8); (c)&=0xFF)
  4845.  
  4846. ARGUMENTS
  4847.   r   -  Window Row
  4848.   c   -  Window Column
  4849.  
  4850. RETURNS
  4851.   The current row/column position of the active window.
  4852.  
  4853. SEE ALSO
  4854.   WcurGet (Page 69)
  4855.   VcurGet (Page 99)
  4856.   VposGet (Page 103)
  4857.  
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866. Page 72                                    TesSeRact CXL V5.5 Documentation
  4867. ---------------------------------------------------------------------------
  4868.  
  4869.                       Active Window Formatted Output
  4870.  
  4871. ---------------------------------------------------------------------------
  4872.  
  4873. NAME.........WdupChr           <TcxlWin.H>
  4874.  
  4875. DESCRIPTION
  4876.   Displays a character a specified number of times in the active window.
  4877.   Characters will be displayed in the window's current text attribute
  4878.   (See Appendix A). Control characters and escape sequences (See
  4879.   Appendix D) are recognized; Cursor position is updated.
  4880.  
  4881. PROTOTYPE....VOID CTYP WdupChr(IntT ch, IntT nd);
  4882.  
  4883. ARGUMENTS
  4884.   ch  -  Character to Display
  4885.   nd  -  Number of times to display character
  4886.  
  4887. RETURNS......None
  4888.  
  4889. SEE ALSO
  4890.   WdupChrA (Page 79)
  4891.  
  4892. EXAMPLE
  4893.      FILE: WIN\WPUTS.C........Line: 144
  4894.  
  4895. ---------------------------------------------------------------------------
  4896.  
  4897. NAME.........WdupStr           <TcxlWin.H>
  4898.  
  4899. DESCRIPTION
  4900.      Displays a string a specified number of times in the active window.
  4901.      Characters will be displayed in the window's current text attribute
  4902.      (See Appendix  A).   Control characters  and escape  sequences (See
  4903.      Appendix D) are recognized; Cursor position is updated.
  4904.  
  4905. PROTOTYPE....VOID CTYP WdupStr(ChrP ps, IntT nd);
  4906.  
  4907. ARGUMENTS
  4908.   ps  -  String to Display
  4909.   nd  -  Number of times to display string
  4910.  
  4911.  
  4912. RETURNS......None
  4913.  
  4914. SEE ALSO
  4915.   WdupStrA (Page 80)
  4916.  
  4917.  
  4918.  
  4919.  
  4920.  
  4921.  
  4922.  
  4923.  
  4924.  
  4925. TesSeRact CXL V5.5 Documentation                                    Page 73
  4926. ---------------------------------------------------------------------------
  4927.  
  4928. NAME.........Wputc             <TcxlWin.H>
  4929.  
  4930. DESCRIPTION
  4931.      Displays a  character at  the current window coordinates, using the
  4932.      current text  attribute (See  Appendix A).   Control characters and
  4933.      escape sequences  (See Appendix  D) are recognized; Cursor position
  4934.      is updated.
  4935.  
  4936. PROTOTYPE....VOID CTYP Wputc(IntT ch);
  4937.  
  4938. ARGUMENTS
  4939.   ch  -  Character to Display
  4940.  
  4941. RETURNS......None
  4942.  
  4943. SEE ALSO
  4944.   Wprtc (Page 81)
  4945.   Vprintc (Page 95)
  4946.   Vputc (Page 97)
  4947.  
  4948. EXAMPLE
  4949.      FILE: WIN\WDUPCHR.C......Line: 22
  4950.      FILE: WIN\WPERROR.C......Line: 47
  4951.      FILE: WIN\WPUTFMT.C......Line: 40, 50, 53, 60
  4952.      FILE: WIN\WPUTNS.C.......Line: 28
  4953.      FILE: WIN\WPUTSW.C.......Line: 42
  4954.      FILE: WIN\WPUTSW.C.......Line: 47
  4955.      FILE: INP\KWGETCF.C......Line: 48
  4956.      FILE: INP\KWGETCH.C......Line: 30
  4957.      FILE: INP\KWGETFMT.C.....Line: 39, 49, 109
  4958.      FILE: INP\KWGETSN.C......Line: 44, 45, 46, 55
  4959.      FILE: INP\KWGETST.C......Line: 30, 37, 38, 39
  4960.      FILE: TCXLDEMO.C.........Line: 1035, 1045
  4961.  
  4962.  
  4963.  
  4964.  
  4965.  
  4966.  
  4967.  
  4968.  
  4969.  
  4970.  
  4971.  
  4972.  
  4973.  
  4974.  
  4975.  
  4976.  
  4977.  
  4978.  
  4979.  
  4980.  
  4981.  
  4982.  
  4983.  
  4984. Page 74                                    TesSeRact CXL V5.5 Documentation
  4985. ---------------------------------------------------------------------------
  4986.  
  4987. NAME.........Wputs             <TcxlWin.H>
  4988.  
  4989. DESCRIPTION
  4990.      Displays a  string at  the current  window coordinates,  using  the
  4991.      current text  attribute (See  Appendix A).   Control characters and
  4992.      escape sequences  (See Appendix  D) are recognized; Cursor position
  4993.      is updated.
  4994.  
  4995. PROTOTYPE....VOID CTYP Wputs(ChrP ps);
  4996.  
  4997. ARGUMENTS
  4998.   ps  -  String to Display
  4999.  
  5000. RETURNS......None
  5001.  
  5002. SEE ALSO
  5003.   Wprts (Page 82)
  5004.   Vprints (Page 96)
  5005.  
  5006. EXAMPLE
  5007.      FILE: MNU\MNUSHOW.C......Line: 399
  5008.      FILE: HLP\HLPSHOW.C......Line: 107, 113, 114, 115, 266, 273, 301,
  5009.                               321, 322, 323
  5010.      FILE: WIN\WDUPSTR.C......Line: 22
  5011.      FILE: WIN\WPERROR.C......Line: 48
  5012.      FILE: WIN\WPUTCEN.C......Line: 37
  5013.      FILE: WIN\WPUTF.C........Line: 34
  5014.      FILE: WIN\WPUTRJ.C.......Line: 37
  5015.      FILE: WIN\WPUTSW.C.......Line: 38, 50, 62, 72
  5016.      FILE: INP\KWGETYN.C......Line: 29, 31, 33
  5017.      FILE: TCXLDEMO.C.........Line: 1217, 1264, 1286, 1307, 1380, 1398,
  5018.                               1494, 1498, 1505, 1509, 1513, 1517, 1521,
  5019.                               1525, 1528, 1531, 1535, 1539, 1754, 2142,
  5020.                               2150, 2382, 2437, 2466, 2509, 2536
  5021.  
  5022.  
  5023.  
  5024.  
  5025.  
  5026.  
  5027.  
  5028.  
  5029.  
  5030.  
  5031.  
  5032.  
  5033.  
  5034.  
  5035.  
  5036.  
  5037.  
  5038.  
  5039.  
  5040.  
  5041.  
  5042.  
  5043. TesSeRact CXL V5.5 Documentation                                    Page 75
  5044. ---------------------------------------------------------------------------
  5045.  
  5046. NAME.........Wputns            <TcxlWin.H>
  5047.  
  5048. DESCRIPTION
  5049.      Displays a  string at  the current  window coordinates,  using  the
  5050.      current text  attribute (See  Appendix A).   The  input width  will
  5051.      determine how  many characters  are actually  displayed.    Control
  5052.      characters and  escape sequences  (See Appendix  D) are recognized;
  5053.      Cursor position is updated.
  5054.  
  5055. PROTOTYPE....VOID CTYP Wputns(ChrP ps, IntT wd);
  5056.  
  5057. ARGUMENTS
  5058.   ps  -  String to Display
  5059.   wd  -  Width of Output String
  5060.  
  5061. RETURNS......None
  5062.  
  5063. SEE ALSO
  5064.   Wprtns (Page 83)
  5065.  
  5066. ---------------------------------------------------------------------------
  5067.  
  5068. NAME.........Wputsw            <TcxlWin.H>
  5069.  
  5070. DESCRIPTION
  5071.      Displays a  string at  the current  window coordinates,  using  the
  5072.      current text  attribute (See  Appendix A).   Words  will be wrapped
  5073.      around to  the next  line if  necessary.   Control  characters  and
  5074.      escape sequences  (See Appendix  D) are recognized; Cursor position
  5075.      is updated.
  5076.  
  5077. PROTOTYPE....VOID CTYP Wputsw(ChrP ps);
  5078.  
  5079. ARGUMENTS
  5080.   ps  -  String to Display
  5081.  
  5082. RETURNS......None
  5083.  
  5084. SEE ALSO
  5085.   Wprtsw (Page 83)
  5086.  
  5087. EXAMPLE
  5088.      FILE: TCXLDEMO.C.........Line: 1130, 2106, 2109
  5089.  
  5090.  
  5091.  
  5092.  
  5093.  
  5094.  
  5095.  
  5096.  
  5097.  
  5098.  
  5099.  
  5100.  
  5101.  
  5102. Page 76                                    TesSeRact CXL V5.5 Documentation
  5103. ---------------------------------------------------------------------------
  5104.  
  5105. NAME.........Wputf             <TcxlWin.H>
  5106.  
  5107. DESCRIPTION
  5108.      Displays a  formatted string  to the  active window  at the current
  5109.      cursor position  using the current text attribute (See Appendix A).
  5110.      Works like the standard printf() function does.  Control characters
  5111.      and escape  sequences  (See  Appendix  D)  are  recognized;  Cursor
  5112.      position is updated.
  5113.  
  5114. PROTOTYPE....IntT CDC wputf(ChrP fs, ...);
  5115.  
  5116. ARGUMENTS
  5117.   fs  -  Format String (See your compiler's documentation)
  5118.   ... -  Additional Arguments
  5119.  
  5120. RETURNS
  5121.   ERR_NUL  -  No Error
  5122.   ERR_ARG  -  Argument Failure
  5123.     TcxlErr Returns:
  5124.     W_NOACTIVE  -  No Active Window
  5125.  
  5126. SEE ALSO
  5127.   Wprtf (Page 84)
  5128.  
  5129. ---------------------------------------------------------------------------
  5130.  
  5131. NAME.........WputFmt           <TcxlWin.H>
  5132.  
  5133. DESCRIPTION
  5134.      Displays a string to active window using a CXL format string.  If a
  5135.      character in  a string  doesn't match its format control character,
  5136.      it will  be displayed  as a  '?'.   Control characters  and  escape
  5137.      sequences (See  Appendix D)  are  recognized;  Cursor  position  is
  5138.      updated.
  5139.  
  5140. PROTOTYPE....IntT CTYP WputFmt(ChrP fs, ChrP ps);
  5141.  
  5142. ARGUMENTS
  5143.   fs  -  Format Control String (See Appendix D)
  5144.   ps  -  String to Display
  5145.  
  5146. RETURNS
  5147.   ERR_NUL  -  No Error
  5148.   ERR_ARG  -  Argument Failure
  5149.     TcxlErr Returns:
  5150.     W_NOACTIVE  -  No Active Window
  5151.     W_INVFORMT  -  Invalid Format String
  5152.     W_STRLONG   -  String Could Not Fit In Window
  5153.  
  5154. SEE ALSO
  5155.   WprtFmt (Page 85)
  5156.  
  5157.  
  5158.  
  5159.  
  5160.  
  5161. TesSeRact CXL V5.5 Documentation                                    Page 77
  5162. ---------------------------------------------------------------------------
  5163.  
  5164. NAME.........WputCen           <TcxlWin.H>
  5165.  
  5166. DESCRIPTION
  5167.      Centers a  string in  the active  window, on the current row, using
  5168.      the current  text attribute  (See Appendix  A).  Control characters
  5169.      and escape  sequences  (See  Appendix  D)  are  recognized;  Cursor
  5170.      position is updated.
  5171.  
  5172. PROTOTYPE....IntT CTYP WputCen(ChrP ps);
  5173.  
  5174. ARGUMENTS
  5175.   ps  -  String to Center
  5176.  
  5177. RETURNS
  5178.   ERR_NUL  -  No Error
  5179.   ERR_ARG  -  Argument Failure
  5180.     TcxlErr Returns:
  5181.     W_NOACTIVE  -  No Active Window
  5182.     W_STRLONG   -  String Could Not Fit In Window
  5183.  
  5184. SEE ALSO
  5185.   WprtCen (Page 86)
  5186.  
  5187. EXAMPLE
  5188.      FILE: TCXLDEMO.C.........Line: 816, 820, 824, 828, 1036, 1046,
  5189.                               1136, 1471, 1472, 1492
  5190.  
  5191. ---------------------------------------------------------------------------
  5192.  
  5193. NAME.........Wputrj            <TcxlWin.H>
  5194.  
  5195. DESCRIPTION
  5196.      Right-justifies a  string in the active window, on the current row,
  5197.      using the  current  text  attribute  (See  Appendix  A).    Control
  5198.      characters and  escape sequences  (See Appendix  D) are recognized;
  5199.      Cursor position is updated.
  5200.  
  5201.  
  5202. PROTOTYPE....IntT CTYP Wputrj(ChrP ps);
  5203.  
  5204. ARGUMENTS
  5205.   ps  -  String to Justify
  5206.  
  5207. RETURNS
  5208.   ERR_NUL  -  No Error
  5209.   ERR_ARG  -  Argument Failure
  5210.     TcxlErr Returns:
  5211.     W_NOACTIVE  -  No Active Window
  5212.     W_STRLONG   -  String Could Not Fit In Window
  5213.  
  5214. SEE ALSO
  5215.   Wprtrj (Page 87)
  5216.  
  5217.  
  5218.  
  5219.  
  5220. Page 78                                    TesSeRact CXL V5.5 Documentation
  5221. ---------------------------------------------------------------------------
  5222.  
  5223. NAME........._Wputl            <_TcxlWin.H>
  5224.  
  5225. DESCRIPTION
  5226.      Return length of string, skipping any TCXL Output escape characters
  5227.      (See Appendix D), as well as skipping all control characters.  Used
  5228.      internally by formatted output routines.
  5229.  
  5230. PROTOTYPE....IntT CTYP _Wputl(ChrP tp);
  5231.  
  5232. ARGUMENTS
  5233.   tp  -  Output String
  5234.  
  5235. RETURNS
  5236.   Length of Output String
  5237.  
  5238. EXAMPLE
  5239.      FILE: WIN\WPERROR.C......Line: 27
  5240.      FILE: WIN\WPUTCEN.C......Line: 31
  5241.      FILE: WIN\WPUTRJ.C.......Line: 31
  5242.  
  5243. ---------------------------------------------------------------------------
  5244.  
  5245.                      Active Window Unformatted Output
  5246.  
  5247. ---------------------------------------------------------------------------
  5248.  
  5249. NAME.........WdupChrA          <TcxlWin.H>
  5250.  
  5251. DESCRIPTION
  5252.      Displays a  character a  specified number  of times  in the  active
  5253.      window at  the specified coordinates, using the specified attribute
  5254.      (See Appendix  A).  Control characters and escape sequences are NOT
  5255.      recognized; Cursor position is NOT updated.
  5256.  
  5257. PROTOTYPE....VOID CTYP WdupChrA(IntT wr, IntT wc, IntT at,
  5258.             IntT ch, IntT nd);
  5259.  
  5260. ARGUMENTS
  5261.   wr  -  Window Row
  5262.   wc  -  Window Column
  5263.   at  -  Attribute (See Appendix A)
  5264.   ch  -  Character to Display
  5265.   nd  -  Number of times to display character
  5266.  
  5267. RETURNS......None
  5268.  
  5269. SEE ALSO
  5270.   WdupChr (Page 73)
  5271.  
  5272.  
  5273.  
  5274.  
  5275.  
  5276.  
  5277.  
  5278.  
  5279. TesSeRact CXL V5.5 Documentation                                    Page 79
  5280. ---------------------------------------------------------------------------
  5281.  
  5282. NAME.........WdupStrA          <TcxlWin.H>
  5283.  
  5284. DESCRIPTION
  5285.      Displays a  string a specified number of times in the active window
  5286.      at the  specified coordinates,  using the  specified attribute (See
  5287.      Appendix A).   Control  characters and  escape  sequences  are  NOT
  5288.      recognized; Cursor position is NOT updated.
  5289.  
  5290. PROTOTYPE....VOID CTYP WdupStrA(IntT wr, IntT wc, IntT at,
  5291.             ChrP ps, IntT nd);
  5292.  
  5293. ARGUMENTS
  5294.   wr  -  Window Row
  5295.   wc  -  Window Column
  5296.   at  -  Attribute (See Appendix A)
  5297.   ps  -  String to Display
  5298.   nd  -  Number of times to display string
  5299.  
  5300. RETURNS......None
  5301.  
  5302. SEE ALSO
  5303.   WdupStr (Page 73)
  5304.  
  5305.  
  5306.  
  5307.  
  5308.  
  5309.  
  5310.  
  5311.  
  5312.  
  5313.  
  5314.  
  5315.  
  5316.  
  5317.  
  5318.  
  5319.  
  5320.  
  5321.  
  5322.  
  5323.  
  5324.  
  5325.  
  5326.  
  5327.  
  5328.  
  5329.  
  5330.  
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.  
  5337.  
  5338. Page 80                                    TesSeRact CXL V5.5 Documentation
  5339. ---------------------------------------------------------------------------
  5340.  
  5341. NAME.........Wprtc             <TcxlWin.H>
  5342.  
  5343. DESCRIPTION
  5344.      Displays a  character  at  the  specified  coordinates,  using  the
  5345.      specified attribute  (See Appendix  A).    Control  characters  and
  5346.      escape  sequences  are  NOT  recognized;  Cursor  position  is  NOT
  5347.      updated.
  5348.  
  5349. PROTOTYPE....IntT CTYP Wprtc(IntT wr, IntT wc, IntT at, IntT ch);
  5350.  
  5351. ARGUMENTS
  5352.   wr  -  Window Row
  5353.   wc  -  Window Column
  5354.   at  -  Attribute (See Appendix A)
  5355.   ch  -  Character to Display
  5356.  
  5357. RETURNS
  5358.   ERR_NUL  -  No Error
  5359.   ERR_ARG  -  Argument Failure
  5360.     TcxlErr Returns:
  5361.     W_NOACTIVE  -  No Active Window
  5362.     W_INVCOORD  -  Invalid Coordinates
  5363.  
  5364. SEE ALSO
  5365.   Wputc (Page 74)
  5366.   Vprintc (Page 95)
  5367.  
  5368. EXAMPLE
  5369.      FILE: MNU\MNUSHOW.C......Line: 394
  5370.      FILE: ENT\ENTSHOW.C......Line: 333, 503
  5371.      FILE: ENT\_FLDDSP.C......Line: 112, 113, 129, 143, 150, 155, 161,
  5372.                               162
  5373.      FILE: SEL\_SELECT.C......Line: 441
  5374.      FILE: WIN\WDUPCHRA.C.....Line: 22
  5375.      FILE: WIN\WPRTFMT.C......Line: 40, 50, 53, 60
  5376.      FILE: WIN\WPRTNS.C.......Line: 28
  5377.  
  5378.  
  5379.  
  5380.  
  5381.  
  5382.  
  5383.  
  5384.  
  5385.  
  5386.  
  5387.  
  5388.  
  5389.  
  5390.  
  5391.  
  5392.  
  5393.  
  5394.  
  5395.  
  5396.  
  5397. TesSeRact CXL V5.5 Documentation                                    Page 81
  5398. ---------------------------------------------------------------------------
  5399.  
  5400. NAME.........Wprts             <TcxlWin.H>
  5401.  
  5402. DESCRIPTION
  5403.      Displays a string at the specified coordinates, using the specified
  5404.      attribute  (See   Appendix  A).    Control  characters  and  escape
  5405.      sequences are NOT recognized; Cursor position is NOT updated.
  5406.  
  5407. PROTOTYPE....IntT CTYP Wprts(IntT wr, IntT wc, IntT at, ChrP ps);
  5408.  
  5409. ARGUMENTS
  5410.   wr  -  Window Row
  5411.   wc  -  Window Column
  5412.   at  -  Attribute (See Appendix A)
  5413.   ps  -  String to Display
  5414.  
  5415.  
  5416. RETURNS
  5417.   ERR_NUL  -  No Error
  5418.   ERR_ARG  -  Argument Failure
  5419.     TcxlErr Returns:
  5420.     W_NOACTIVE  -  No Active Window
  5421.     W_INVCOORD  -  Invalid Coordinates
  5422.  
  5423. SEE ALSO
  5424.   Wputs (Page 75)
  5425.   Vprints (Page 96)
  5426.  
  5427. EXAMPLE
  5428.      FILE: SEL\SELATTR.C......Line: 141
  5429.      FILE: SEL\SELTXT.C.......Line: 34
  5430.      FILE: WIN\WDUPSTRA.C.....Line: 22
  5431.      FILE: WIN\WPRTF.C........Line: 34
  5432.      FILE: WIN\WPRTSW.C.......Line: 38, 54, 66, 76
  5433.      FILE: TCXLDEMO.C.........Line: 832, 1014, 1660
  5434.  
  5435.  
  5436.  
  5437.  
  5438.  
  5439.  
  5440.  
  5441.  
  5442.  
  5443.  
  5444.  
  5445.  
  5446.  
  5447.  
  5448.  
  5449.  
  5450.  
  5451.  
  5452.  
  5453.  
  5454.  
  5455.  
  5456. Page 82                                    TesSeRact CXL V5.5 Documentation
  5457. ---------------------------------------------------------------------------
  5458.  
  5459. NAME.........Wprtns            <TcxlWin.H>
  5460.  
  5461. DESCRIPTION
  5462.      Displays a string at the specified coordinates, using the specified
  5463.      attribute (See  Appendix A).   The  input width  will determine how
  5464.      many characters  are actually  displayed.   Control characters  and
  5465.      escape  sequences  are  NOT  recognized;  Cursor  position  is  NOT
  5466.      updated.
  5467.  
  5468. PROTOTYPE....VOID CTYP Wprtns(IntT wr, IntT wc, IntT at, ChrP ps, IntT wd);
  5469.  
  5470. ARGUMENTS
  5471.   wr  -  Window Row
  5472.   wc  -  Window Column
  5473.   at  -  Attribute (See Appendix A)
  5474.   ps  -  String to Display
  5475.   wd  -  Width of Output String
  5476.  
  5477. RETURNS......None
  5478.  
  5479. SEE ALSO
  5480.   Wputns (Page 76)
  5481.  
  5482. EXAMPLE
  5483.      FILE: SEL\_SELECT.C......Line: 456
  5484.  
  5485. ---------------------------------------------------------------------------
  5486.  
  5487. NAME.........Wprtsw            <TcxlWin.H>
  5488.  
  5489. DESCRIPTION
  5490.      Displays a string at the specified coordinates, using the specified
  5491.      attribute (See  Appendix A).   Words  will be wrapped around to the
  5492.      next line  if necessary.   Control  characters and escape sequences
  5493.      are NOT recognized; Cursor position is NOT updated.
  5494.  
  5495. PROTOTYPE....IntT CTYP Wprtsw(IntT wr, IntT wc, IntT at, ChrP ps);
  5496.  
  5497. ARGUMENTS
  5498.   wr  -  Window Row
  5499.   wc  -  Window Column
  5500.   at  -  Attribute (See Appendix A)
  5501.   ps  -  String to Display
  5502.  
  5503. RETURNS
  5504.   ERR_NUL  -  No Error
  5505.   ERR_ARG  -  Argument Failure
  5506.       TcxlErr Returns:
  5507.       W_NOACTIVE    -    No Active Window
  5508.       W_INVCOORD    -    Invalid Coordinates
  5509.  
  5510. SEE ALSO
  5511.   Wputsw (Page 76)
  5512.  
  5513.  
  5514.  
  5515. TesSeRact CXL V5.5 Documentation                                    Page 83
  5516. ---------------------------------------------------------------------------
  5517.  
  5518. NAME.........Wprtf             <TcxlWin.H>
  5519.  
  5520. DESCRIPTION
  5521.      Displays a  formatted string  to the active window at the specified
  5522.      coordinates, using the specified attribute (See Appendix A).  Works
  5523.      like the  standard printf()  function does.  Control characters and
  5524.      escape  sequences  are  NOT  recognized;  Cursor  position  is  NOT
  5525.      updated.
  5526.  
  5527. PROTOTYPE....IntT CDC wprtf(IntT wr, IntT wc, IntT at, ChrP fs, ...);
  5528.  
  5529. ARGUMENTS
  5530.   wr  -  Window Row
  5531.   wc  -  Window Column
  5532.   at  -  Attribute (See Appendix A)
  5533.   fs  -  Format String (See your compiler's documentation)
  5534.   ... -  Additional Arguments
  5535.  
  5536. RETURNS
  5537.   ERR_NUL  -  No Error
  5538.   ERR_ARG  -  Argument Failure
  5539.       TcxlErr Returns:
  5540.       W_NOACTIVE    -    No Active Window
  5541.       W_INVCOORD    -    Invalid Coordinates
  5542.  
  5543. SEE ALSO
  5544.   Wputf (Page 77)
  5545.  
  5546.  
  5547.  
  5548.  
  5549.  
  5550.  
  5551.  
  5552.  
  5553.  
  5554.  
  5555.  
  5556.  
  5557.  
  5558.  
  5559.  
  5560.  
  5561.  
  5562.  
  5563.  
  5564.  
  5565.  
  5566.  
  5567.  
  5568.  
  5569.  
  5570.  
  5571.  
  5572.  
  5573.  
  5574. Page 84                                    TesSeRact CXL V5.5 Documentation
  5575. ---------------------------------------------------------------------------
  5576.  
  5577. NAME.........WprtFmt           <TcxlWin.H>
  5578.  
  5579. DESCRIPTION
  5580.      Displays a string to active window using a CXL format string at the
  5581.      specified coordinates,  using the specified attribute (See Appendix
  5582.      A).   If a  character in  a string doesn't match its format control
  5583.      character, it  will be  displayed as a '?'.  Control characters and
  5584.      escape  sequences  are  NOT  recognized;  Cursor  position  is  NOT
  5585.      updated.
  5586.  
  5587. PROTOTYPE....IntT CTYP WprtFmt(IntT wr, IntT wc, IntT at, ChrP fs,
  5588.             ChrP ps);
  5589.  
  5590. ARGUMENTS
  5591.   wr  -  Window Row
  5592.   wc  -  Window Column
  5593.   at  -  Attribute (See Appendix A)
  5594.   fs  -  Format Control String (See Appendix D)
  5595.   ps  -  String to Display
  5596.  
  5597. RETURNS
  5598.   ERR_NUL  -  No Error
  5599.   ERR_ARG  -  Argument Failure
  5600.       TcxlErr Returns:
  5601.       W_NOACTIVE    -    No Active Window
  5602.       W_INVCOORD    -    Invalid Coordinates
  5603.       W_INVFORMT    -    Invalid Format String
  5604.       W_STRLONG     -    String Could Not Fit In Window
  5605.  
  5606. SEE ALSO
  5607.   WputFmt (Page 77)
  5608.  
  5609.  
  5610.  
  5611.  
  5612.  
  5613.  
  5614.  
  5615.  
  5616.  
  5617.  
  5618.  
  5619.  
  5620.  
  5621.  
  5622.  
  5623.  
  5624.  
  5625.  
  5626.  
  5627.  
  5628.  
  5629.  
  5630.  
  5631.  
  5632.  
  5633. TesSeRact CXL V5.5 Documentation                                    Page 85
  5634. ---------------------------------------------------------------------------
  5635.  
  5636. NAME.........WprtCen           <TcxlWin.H>
  5637.  
  5638. DESCRIPTION
  5639.      Centers a string in the active window at the specified coordinates,
  5640.      using the specified attribute (See Appendix A).  Control characters
  5641.      and escape  sequences are  NOT recognized;  Cursor position  is NOT
  5642.      updated.
  5643.  
  5644. PROTOTYPE....IntT CTYP WprtCen(IntT wr, IntT at, ChrP ps);
  5645.  
  5646. ARGUMENTS
  5647.   wr  -  Window Row
  5648.   at  -  Attribute (See Appendix A)
  5649.   ps  -  String to Center
  5650.  
  5651. RETURNS
  5652.   ERR_NUL  -  No Error
  5653.   ERR_ARG  -  Argument Failure
  5654.       TcxlErr Returns:
  5655.       W_NOACTIVE    -    No Active Window
  5656.       W_INVCOORD    -    Invalid Coordinates
  5657.       W_STRLONG     -    String Could Not Fit In Window
  5658.  
  5659. SEE ALSO
  5660.   WputCen (Page 78)
  5661.  
  5662. EXAMPLE
  5663.      FILE: TCXLDEMO.C.........Line: 833, 840, 842, 1248, 2115, 2345,
  5664.                               2354
  5665.  
  5666.  
  5667.  
  5668.  
  5669.  
  5670.  
  5671.  
  5672.  
  5673.  
  5674.  
  5675.  
  5676.  
  5677.  
  5678.  
  5679.  
  5680.  
  5681.  
  5682.  
  5683.  
  5684.  
  5685.  
  5686.  
  5687.  
  5688.  
  5689.  
  5690.  
  5691.  
  5692. Page 86                                    TesSeRact CXL V5.5 Documentation
  5693. ---------------------------------------------------------------------------
  5694.  
  5695. NAME.........Wprtrj            <TcxlWin.H>
  5696.  
  5697. DESCRIPTION
  5698.      Right justifies  a string  in the  active window  at the  specified
  5699.      coordinates,  using  the  specified  attribute  (See  Appendix  A).
  5700.      Control characters  and escape sequences are NOT recognized; Cursor
  5701.      position is NOT updated.
  5702.  
  5703. PROTOTYPE....IntT CTYP Wprtrj(IntT wr, IntT wc, IntT at, ChrP ps);
  5704.  
  5705. ARGUMENTS
  5706.   wr  -  Window Row
  5707.   wc  -  Window Column
  5708.   at  -  Attribute (See Appendix A)
  5709.   ps  -  String to Justify
  5710.  
  5711. RETURNS
  5712.   ERR_NUL  -  No Error
  5713.   ERR_ARG  -  Argument Failure
  5714.       TcxlErr Returns:
  5715.       W_NOACTIVE    -    No Active Window
  5716.       W_INVCOORD    -    Invalid Coordinates
  5717.       W_STRLONG     -    String Could Not Fit In Window
  5718.  
  5719. SEE ALSO
  5720.   Wputrj (Page 78)
  5721.  
  5722. EXAMPLE
  5723.      FILE: TCXLDEMO.C.........Line: 834
  5724.  
  5725.  
  5726.  
  5727.  
  5728.  
  5729.  
  5730.  
  5731.  
  5732.  
  5733.  
  5734.  
  5735.  
  5736.  
  5737.  
  5738.  
  5739.  
  5740.  
  5741.  
  5742.  
  5743.  
  5744.  
  5745.  
  5746.  
  5747.  
  5748.  
  5749.  
  5750.  
  5751. TesSeRact CXL V5.5 Documentation                                    Page 87
  5752. ---------------------------------------------------------------------------
  5753.  
  5754.                               Display System
  5755.  
  5756.  
  5757.                               Window Builders
  5758.  
  5759. ---------------------------------------------------------------------------
  5760.  
  5761. NAME.........VclrBox           <TcxlVid.H>    Macro
  5762.  
  5763. DESCRIPTION
  5764.      Clears a  section of  the screen  using  the  text  attribute  (See
  5765.      Appendix A) at the current cursor position.
  5766.  
  5767. PROTOTYPE....VOID VclrBox(VposT s, VposT e);
  5768.  
  5769.   #define VclrBox(s,e) (VfilBox((s),(e),
  5770.             ' ',(Vgetw_(VposR(s),VposC(s))>>8)))
  5771.  
  5772. ARGUMENTS
  5773.   s   -  Start Position
  5774.   e   -  End Position
  5775.  
  5776. RETURNS......None
  5777.  
  5778. SEE ALSO
  5779.   Wclear (Page 55)
  5780.   WclrWin (Page 57)
  5781.  
  5782.  
  5783.  
  5784.  
  5785.  
  5786.  
  5787.  
  5788.  
  5789.  
  5790.  
  5791.  
  5792.  
  5793.  
  5794.  
  5795.  
  5796.  
  5797.  
  5798.  
  5799.  
  5800.  
  5801.  
  5802.  
  5803.  
  5804.  
  5805.  
  5806.  
  5807.  
  5808.  
  5809.  
  5810. Page 88                                    TesSeRact CXL V5.5 Documentation
  5811. ---------------------------------------------------------------------------
  5812.  
  5813. NAME.........VdrwBox           <TcxlVid.H>    Macro
  5814. .............VdrwBx_
  5815.  
  5816. DESCRIPTION
  5817.      "Draws" a text box on the screen.
  5818.  
  5819. PROTOTYPE....VOID VdrwBox(VposT s, VposT e, IntT b, IntT a);
  5820. .............VOID CTYP VdrwBx_(WrdT s, WrdT e, IntT b, IntT a);
  5821.  
  5822.   #define VdrwBox(s,e,b,a) (VdrwBx_(VposW(s),VposW(e),(b),(a)))
  5823.  
  5824. ARGUMENTS
  5825.   s   -  Start Position
  5826.   e   -  End Position
  5827.   b   -  Border Type (See Appendix C [Border Types])
  5828.   a   -  Attribute (See Appendix A)
  5829.  
  5830. RETURNS......None
  5831.  
  5832. SEE ALSO
  5833.   Wborder (Page 61)
  5834.  
  5835. EXAMPLE
  5836.      FILE: WIN\WBORDER.C......Line: 31
  5837.      FILE: WIN\WCHGATR.C......Line: 33
  5838.      FILE: WIN\WDRWBOX.C......Line: 42
  5839.      FILE: WIN\WOPEN.C........Line: 87
  5840.      FILE: WIN\WTITLE.C.......Line: 34
  5841.  
  5842. ---------------------------------------------------------------------------
  5843.  
  5844. NAME.........VfilBox           <TcxlVid.H>    Macro
  5845. .............VfilBx_
  5846.  
  5847. DESCRIPTION
  5848.      Fills in  a region  of the  screen with  a specified  character and
  5849.      attribute (See Appendix A).
  5850.  
  5851. PROTOTYPE....VOID VfilBox(VposT s, VposT e, IntT c, IntT a);
  5852. .............VOID CTYP VfilBx_(WrdT s, WrdT e, IntT c, IntT a);
  5853.  
  5854.   #define VfilBox(s,e,c,a) (VfilBx_(VposW(s),VposW(e),(c),(a)))
  5855.  
  5856. ARGUMENTS
  5857.   s   -  Start Position
  5858.   e   -  End Position
  5859.   c   -  Character to fill
  5860.   a   -  Attribute (See Appendix A)
  5861.  
  5862. RETURNS......None
  5863.  
  5864. EXAMPLE
  5865.      FILE: WIN\WCLRWIN.C......Line: 31
  5866.      FILE: WIN\WFILBOX.C......Line: 41
  5867.  
  5868.  
  5869. TesSeRact CXL V5.5 Documentation                                    Page 89
  5870. ---------------------------------------------------------------------------
  5871.  
  5872. NAME.........Vsave             <TcxlVid.H>
  5873.  
  5874. DESCRIPTION
  5875.      Saves the current screen to a buffer.
  5876.  
  5877. PROTOTYPE....VcelP CTYP Vsave(NOARG);
  5878.  
  5879. ARGUMENTS....None
  5880.  
  5881. RETURNS
  5882.   Address of  the buffer save area, or NULL if a memory allocation error
  5883.   occurred.
  5884.  
  5885. SEE ALSO
  5886.   Wsave (Page 42)
  5887.   Wrestore (Page 41)
  5888.   Vrestore (Page 90)
  5889.  
  5890. EXAMPLE
  5891.      FILE: TCXLDEMO.C.........Line: 1433
  5892.  
  5893. ---------------------------------------------------------------------------
  5894.  
  5895. NAME.........Vrestore          <TcxlVid.H>
  5896.  
  5897. DESCRIPTION
  5898.      Restores a previously-saved buffer to the video.
  5899.  
  5900. PROTOTYPE....VOID CTYP Vrestore(VcelP b);
  5901.  
  5902. ARGUMENTS
  5903.   b   -  Previously Saved Buffer
  5904.  
  5905. RETURNS......None
  5906.  
  5907. SEE ALSO
  5908.   Wsave (Page 42)
  5909.   Wrestore (Page 41)
  5910.   Vsave (Page 90)
  5911.  
  5912. EXAMPLE
  5913.      FILE: TCXLDEMO.C.........Line: 1457
  5914.  
  5915.  
  5916.  
  5917.  
  5918.  
  5919.  
  5920.  
  5921.  
  5922.  
  5923.  
  5924.  
  5925.  
  5926.  
  5927.  
  5928. Page 90                                    TesSeRact CXL V5.5 Documentation
  5929. ---------------------------------------------------------------------------
  5930.  
  5931.                                Video Control
  5932.  
  5933. ---------------------------------------------------------------------------
  5934.  
  5935. NAME.........VidInit           <TcxlVid.H>
  5936.  
  5937. DESCRIPTION
  5938.      This function  intializes the  TCXL Display System and Video Access
  5939.      Subsystem.   It is  called automatically by TcxlInit (Page 142) and
  5940.      is documented here for information purposes only.
  5941.  
  5942. PROTOTYPE....VOID CTYP VidInit(NOARG);
  5943.  
  5944. ARGUMENTS....None
  5945.  
  5946. RETURNS......None
  5947.  
  5948. SEE ALSO
  5949.   VidTerm (Page 92)
  5950.  
  5951. EXAMPLE
  5952.      FILE: HDW\TCXLINIT.C.....Line: 74
  5953.  
  5954. ---------------------------------------------------------------------------
  5955.  
  5956. NAME.........VidMode           <TcxlVid.H>
  5957.  
  5958. DESCRIPTION
  5959.      This function  either gets  the current  video mode  (if the passed
  5960.      parameter is  0xFF), or  it sets  the display  mode to  the  passed
  5961.      parameter.    In  either  case,  the  _VidCtl  (See  User's  Guide)
  5962.      structure is updated.
  5963.  
  5964. PROTOTYPE....IntT PAS VidMode(IntT m);
  5965.  
  5966. ARGUMENTS
  5967.   m   -  New Video Mode, or 0xFF to return current mode.
  5968.  
  5969. RETURNS
  5970.   Current or New Video Mode
  5971.  
  5972. SEE ALSO
  5973.   _VuvSet (Page 173)
  5974.  
  5975. EXAMPLE
  5976.      FILE: DSP\VIDINIT.C......Line: 52
  5977.      FILE: DSP\VSETLIN.C......Line: 58
  5978.  
  5979.  
  5980.  
  5981.  
  5982.  
  5983.  
  5984.  
  5985.  
  5986.  
  5987. TesSeRact CXL V5.5 Documentation                                    Page 91
  5988. ---------------------------------------------------------------------------
  5989.  
  5990. NAME.........VidParm           <TcxlVid.H>
  5991.  
  5992. DESCRIPTION
  5993.      Sets video display parameters.
  5994.  
  5995. PROTOTYPE....IntT CTYP VidParm(IntT p);
  5996.  
  5997. ARGUMENTS
  5998.   p   -  Video Display Parameter (VP_????).
  5999.  
  6000. RETURNS
  6001.   Nonzero if invalid parameter.
  6002.  
  6003. SEE ALSO
  6004.   VidInit (Page 91)
  6005.   VidType (Page 93)
  6006.  
  6007. EXAMPLE
  6008.      FILE: TCXLDEMO.C.........Line: 776, 780, 784
  6009.  
  6010. ---------------------------------------------------------------------------
  6011.  
  6012. NAME.........VidTerm           <TcxlVid.H>
  6013.  
  6014. DESCRIPTION
  6015.      Terminates the Display System and Video Access Subsystems.  In TCXL
  6016.      5.5, this  is a  null function.   This  function  is  automatically
  6017.      called by the C compiler's atexit() chain.
  6018.  
  6019. PROTOTYPE....VOID CTYP VidTerm(NOARG);
  6020.  
  6021. ARGUMENTS....None
  6022.  
  6023. RETURNS......None
  6024.  
  6025. SEE ALSO
  6026.   VidInit (Page 91)
  6027.  
  6028. EXAMPLE
  6029.      FILE: HDW\TCXLINIT.C.....Line: 93
  6030.  
  6031.  
  6032.  
  6033.  
  6034.  
  6035.  
  6036.  
  6037.  
  6038.  
  6039.  
  6040.  
  6041.  
  6042.  
  6043.  
  6044.  
  6045.  
  6046. Page 92                                    TesSeRact CXL V5.5 Documentation
  6047. ---------------------------------------------------------------------------
  6048.  
  6049. NAME.........VidType           <TcxlVid.H>
  6050.  
  6051. DESCRIPTION
  6052.      Returns the display adapter type.
  6053.  
  6054. PROTOTYPE....IntT CTYP VidType(NOARG);
  6055.  
  6056. ARGUMENTS....None
  6057.  
  6058. RETURNS
  6059.   The current display adapter type.
  6060.  
  6061. SEE ALSO
  6062.   VidInit (Page 91)
  6063.   _VuvGet (Page 172)
  6064.  
  6065. EXAMPLE
  6066.      FILE: DSP\VIDINIT.C......Line: 51
  6067.  
  6068. ---------------------------------------------------------------------------
  6069.  
  6070. NAME.........VsetLin           <TcxlVid.H>
  6071.  
  6072. DESCRIPTION
  6073.      Sets the  number of lines on the display.  Do NOT use this function
  6074.      if UltraVision has been detected.  Use _VuvSet (Page 173) instead.
  6075.  
  6076. PROTOTYPE....IntT CTYP VsetLin(IntT n);
  6077.  
  6078. ARGUMENTS
  6079.   n   -  Number of lines (only 25, 43 and 50 are valid).
  6080.  
  6081. RETURNS
  6082.   Nonzero if invalid line value.
  6083.  
  6084. SEE ALSO
  6085.   _VuvGet (Page 172)
  6086.   _VuvSet (Page 173)
  6087.   VidMode (Page 91)
  6088.   VidInit (Page 91)
  6089.   VidType (Page 93)
  6090.  
  6091. EXAMPLE
  6092.      FILE: TCXLDEMO.C.........Line: 979, 2071, 2074, 2077
  6093.  
  6094.  
  6095.  
  6096.  
  6097.  
  6098.  
  6099.  
  6100.  
  6101.  
  6102.  
  6103.  
  6104.  
  6105. TesSeRact CXL V5.5 Documentation                                    Page 93
  6106. ---------------------------------------------------------------------------
  6107.  
  6108. NAME.........Vclear            <TcxlVid.H>
  6109.  
  6110. DESCRIPTION
  6111.      Clears the  screen using the passed text attribute (See Appendix A)
  6112.      and homes the cursor.
  6113.  
  6114. PROTOTYPE....VOID CTYP Vclear(IntT a);
  6115.  
  6116. ARGUMENTS
  6117.   a   -  Attribute (See Appendix A)
  6118.  
  6119. RETURNS......None
  6120.  
  6121. SEE ALSO
  6122.   Wclear (Page 55)
  6123.  
  6124. EXAMPLE
  6125.      FILE: DSP\VCLRSCR.C......Line: 24
  6126.      FILE: TCXLDEMO.C.........Line: 1440
  6127.  
  6128. ---------------------------------------------------------------------------
  6129.  
  6130. NAME.........VclrEol           <TcxlVid.H>
  6131.  
  6132. DESCRIPTION
  6133.      Clears to  the end  of the video line using the text attribute (See
  6134.      Appendix A) under the cursor.
  6135.  
  6136. PROTOTYPE....VOID CTYP VclrEol(NOARG);
  6137.  
  6138. ARGUMENTS....None
  6139.  
  6140. RETURNS......None
  6141.  
  6142. SEE ALSO
  6143.   WclrEol (Page 56)
  6144.  
  6145. ---------------------------------------------------------------------------
  6146.  
  6147. NAME.........VclrScr           <TcxlVid.H>
  6148.  
  6149. DESCRIPTION
  6150.      Clears the  screen using  the text attribute (See Appendix A) under
  6151.      the cursor, and homes the cursor.
  6152.  
  6153. PROTOTYPE....VOID CTYP VclrScr(NOARG);
  6154.  
  6155. ARGUMENTS....None
  6156.  
  6157. RETURNS......None
  6158.  
  6159. SEE ALSO
  6160.   WclrWin (Page 57)
  6161.  
  6162.  
  6163.  
  6164. Page 94                                    TesSeRact CXL V5.5 Documentation
  6165. ---------------------------------------------------------------------------
  6166.  
  6167.                                Video Output
  6168.  
  6169. ---------------------------------------------------------------------------
  6170.  
  6171. NAME.........Vprintc           <TcxlVid.H>
  6172.  
  6173. DESCRIPTION
  6174.      Displays a character to the screen at a specified location, using a
  6175.      specified attribute  (See Appendix  A).  Does not recognize control
  6176.      characters and does not affect cursor position.
  6177.  
  6178. PROTOTYPE....VOID CTYP Vprintc(IntT r, IntT c, IntT a, IntT x);
  6179.  
  6180. ARGUMENTS
  6181.   r   -  Row
  6182.   c   -  Column
  6183.   a   -  Attribute (See Appendix A)
  6184.   x   -  Character to Display
  6185.  
  6186. RETURNS......None
  6187.  
  6188. SEE ALSO
  6189.   Wputc (Page 74)
  6190.   Wprtc (Page 81)
  6191.   Vattrib (Page 107)
  6192.   Vprints (Page 96)
  6193.  
  6194. EXAMPLE
  6195.      FILE: SEL\_SELECT.C......Line: 102, 103
  6196.      FILE: WIN\WBPRINTC.C.....Line: 50
  6197.      FILE: WIN\WCLREOL.C......Line: 30
  6198.      FILE: WIN\WDRWHOR.C......Line: 121, 125, 130
  6199.      FILE: WIN\WDRWVER.C......Line: 123, 127, 132
  6200.      FILE: WIN\WPRTC.C........Line: 33
  6201.      FILE: WIN\WPRTS.C........Line: 41
  6202.      FILE: WIN\WSHADOFF.C.....Line: 38, 40, 47
  6203.      FILE: WIN\WTITLE.C.......Line: 61
  6204.      FILE: WIN\WWPRINTS.C.....Line: 89, 143
  6205.  
  6206.  
  6207.  
  6208.  
  6209.  
  6210.  
  6211.  
  6212.  
  6213.  
  6214.  
  6215.  
  6216.  
  6217.  
  6218.  
  6219.  
  6220.  
  6221.  
  6222.  
  6223. TesSeRact CXL V5.5 Documentation                                    Page 95
  6224. ---------------------------------------------------------------------------
  6225.  
  6226. NAME.........Vprints           <TcxlVid.H>
  6227.  
  6228. DESCRIPTION
  6229.      Displays a  string to  the screen  at a specified location, using a
  6230.      specified attribute  (See Appendix  A).  Does not recognize control
  6231.      characters and does not affect cursor position.
  6232.  
  6233. PROTOTYPE....VOID CTYP Vprints(IntT r, IntT c, IntT a, ChrP s);
  6234.  
  6235. ARGUMENTS
  6236.   r   -  Row
  6237.   c   -  Column
  6238.   a   -  Attribute (See Appendix A)
  6239.   s   -  String to Display
  6240.  
  6241. RETURNS......None
  6242.  
  6243. SEE ALSO
  6244.   Wputs (Page 75)
  6245.   Wprts (Page 82)
  6246.   Vattrib (Page 107)
  6247.   Vprintc (Page 95)
  6248.  
  6249. EXAMPLE
  6250.      FILE: WIN\WMESSAGE.C.....Line: 33
  6251.      FILE: WIN\WPRTCEN.C......Line: 39
  6252.      FILE: WIN\WPRTRJ.C.......Line: 38
  6253.      FILE: WIN\WPRTS.C........Line: 37, 60
  6254.      FILE: TCXLDEMO.C.........Line: 2606
  6255.  
  6256. ---------------------------------------------------------------------------
  6257.  
  6258. NAME.........VputSpa           <TcxlVid.H>
  6259.  
  6260. DESCRIPTION
  6261.      Displays a  specified number of spaces to the screen using the text
  6262.      attribute (See Appendix A) of the character under the cursor.
  6263.  
  6264. PROTOTYPE....VOID PAS VputSpa(IntT n);
  6265.  
  6266. ARGUMENTS
  6267.   n   -  Number of spaces to display
  6268.  
  6269. RETURNS......None
  6270.  
  6271. EXAMPLE
  6272.      FILE: DSP\VCLREOL.C......Line: 25
  6273.  
  6274.  
  6275.  
  6276.  
  6277.  
  6278.  
  6279.  
  6280.  
  6281.  
  6282. Page 96                                    TesSeRact CXL V5.5 Documentation
  6283. ---------------------------------------------------------------------------
  6284.  
  6285. NAME.........Vputc
  6286.  
  6287. DESCRIPTION
  6288.      Displays a  character/attribute (See  Appendix A) on the display at
  6289.      the specified position, using the video BIOS routines.
  6290.  
  6291. PROTOTYPE....VOID CTYP Vputc(IntT r, IntT c, IntT x, IntT a);
  6292.  
  6293. ARGUMENTS
  6294.   r   -  Row
  6295.   c   -  Column
  6296.   x   -  Character to Display
  6297.   a   -  Attribute (See Appendix A)
  6298.  
  6299. RETURNS......None
  6300.  
  6301. EXAMPLE
  6302.      FILE: WIN\WPUTC.C........Line: 60
  6303.      FILE: WIN\WPUTS.C........Line: 153
  6304.  
  6305. ---------------------------------------------------------------------------
  6306.  
  6307. NAME.........Vputw             <TcxlVid.H>    Macro
  6308. .............Vputw_
  6309.  
  6310. DESCRIPTION
  6311.      Put a VcelT to the screen
  6312.  
  6313. PROTOTYPE....VOID Vputw(IntT r, IntT c, VcelT x);
  6314. .............VOID CTYP Vputw_(IntT r, IntT c, WrdT x);
  6315.  
  6316.   #define Vputw(r,c,x) (Vputw_((r),(c), VcelW(x)))
  6317.  
  6318. ARGUMENTS
  6319.   r   -  Row
  6320.   c   -  Column
  6321.   x   -  VcelT to display
  6322.  
  6323. RETURNS......None
  6324.  
  6325. EXAMPLE
  6326.      FILE: WIN\WACTIV.C.......Line: 173
  6327.      FILE: WIN\WCHGATR.C......Line: 40
  6328.      FILE: WIN\WDRAG.C........Line: 104
  6329.      FILE: WIN\WDRAG.C........Line: 114
  6330.      FILE: WIN\WSHADOW.C......Line: 49, 51, 60
  6331.      FILE: WIN\WSIZE.C........Line: 56, 60, 65
  6332.  
  6333.  
  6334.  
  6335.  
  6336.  
  6337.  
  6338.  
  6339.  
  6340.  
  6341. TesSeRact CXL V5.5 Documentation                                    Page 97
  6342. ---------------------------------------------------------------------------
  6343.  
  6344. NAME.........Vscroll           <TcxlVid.H>    Macro
  6345. .............Vscrol_
  6346.  
  6347. DESCRIPTION
  6348.      Calls the video BIOS to scroll a region of teh display up or down.
  6349.  
  6350. PROTOTYPE....VOID Vscroll(IntT d, VposT s, VposT e, IntT n, IntT a);
  6351. .............VOID PAS Vscrol_(IntT d, WrdT s, WrdT e, IntT n, IntT a);
  6352.  
  6353.   #define Vscroll(d,s,e,n,a) (Vscrol_((d),VposW(s),VposW(e),(n),(a)))
  6354.  
  6355. ARGUMENTS
  6356.   d   -  Direction (0=down, 1=up)
  6357.   s   -  Upper Left Corner
  6358.   e   -  Lower Right Corner
  6359.   n   -  Number of Lines to Scroll
  6360.   a   -  Attribute (See Appendix A) to clear area to
  6361.  
  6362. RETURNS......None
  6363.  
  6364. EXAMPLE
  6365.      FILE: WIN\WSCRBOX.C......Line: 47
  6366.      FILE: WIN\WSCRWIN.C......Line: 41
  6367.      FILE: DSP\VCLEAR.C.......Line: 27
  6368.  
  6369. ---------------------------------------------------------------------------
  6370.  
  6371. NAME.........Vgetw             <TcxlVid.H>    Macro
  6372. .............Vgetw_
  6373.  
  6374. DESCRIPTION
  6375.      Get char/attr from screen as a VcelT object
  6376.  
  6377. PROTOTYPE....VOID Vgetw(IntT r, IntT c, VcelT x);
  6378. .............WrdT CTYP Vgetw_(IntT r, IntT c);
  6379.  
  6380.   #define Vgetw(r,c,x) (VcelW(x)=Vgetw_((r),(c)))
  6381.  
  6382. ARGUMENTS
  6383.   r   -  Row
  6384.   c   -  Column
  6385.  
  6386. RETURNS
  6387.   x   -  VcelT from screen.
  6388.  
  6389. EXAMPLE
  6390.      FILE: WIN\WACTIV.C.......Line: 167
  6391.      FILE: WIN\WCHGATR.C......Line: 38
  6392.      FILE: WIN\WDRWHOR.C......Line: 101, 105
  6393.      FILE: WIN\WDRWVER.C......Line: 103, 107
  6394.      FILE: WIN\WSHADOW.C......Line: 44, 45, 57
  6395.      FILE: WIN\WSIZE.C........Line: 55
  6396.  
  6397.  
  6398.  
  6399.  
  6400. Page 98                                    TesSeRact CXL V5.5 Documentation
  6401. ---------------------------------------------------------------------------
  6402.  
  6403.                               Cursor Control
  6404.  
  6405. ---------------------------------------------------------------------------
  6406.  
  6407. NAME.........VcurGet           <TcxlVid.H>    Macro
  6408. .............VcurGt_
  6409.  
  6410. DESCRIPTION
  6411.      Reads the current cursor location.
  6412.  
  6413. PROTOTYPE....VOID VcurGet(VposT v);
  6414. .............WrdT PAS VcurGt_(NOARG);
  6415.  
  6416.   #define VcurGet(v) (VposW(v)=VcurGt_())
  6417.  
  6418. ARGUMENTS
  6419.   v   -  Position
  6420.  
  6421. RETURNS......None
  6422.  
  6423. SEE ALSO
  6424.   VposGet (Page 103)
  6425.   WcurGet (Page 69)
  6426.   WposGet (Page 72)
  6427.  
  6428. EXAMPLE
  6429.      FILE: WIN\WCURGET.C......Line: 29
  6430.      FILE: WIN\WPERROR.C......Line: 29
  6431.      FILE: WIN\WWPRINTS.C.....Line: 64
  6432.      FILE: DSP\VATRREV.C......Line: 26
  6433.      FILE: DSP\VATRSET.C......Line: 25
  6434.      FILE: DSP\VCLREOL.C......Line: 24
  6435.      FILE: DSP\VPRINTC.C......Line: 25
  6436.      FILE: DSP\VPRINTS.C......Line: 25
  6437.      FILE: INP\KEYGETC.C......Line: 140
  6438.      FILE: TCXLDEMO.C.........Line: 743
  6439.  
  6440.  
  6441.  
  6442.  
  6443.  
  6444.  
  6445.  
  6446.  
  6447.  
  6448.  
  6449.  
  6450.  
  6451.  
  6452.  
  6453.  
  6454.  
  6455.  
  6456.  
  6457.  
  6458.  
  6459. TesSeRact CXL V5.5 Documentation                                    Page 99
  6460. ---------------------------------------------------------------------------
  6461.  
  6462. NAME.........VcurHid           <TcxlVid.H>
  6463.  
  6464. DESCRIPTION
  6465.      Hide or show the video cursor, and return the current cursor state.
  6466.  
  6467. PROTOTYPE....IntT CTYP VcurHid(IntT s);
  6468.  
  6469. ARGUMENTS
  6470.   s   -  Hide if zero, Show if positive, just return state if negative.
  6471.  
  6472. RETURNS
  6473.   FALSE if previously hidden, TRUE if previously shown.
  6474.  
  6475. EXAMPLE
  6476.      FILE: HLP\HLPSHOW.C......Line: 93, 140
  6477.      FILE: SEL\SELATTR.C......Line: 136
  6478.      FILE: DSP\VCURSET.C......Line: 26
  6479.      FILE: TCXLDEMO.C.........Line: 898, 981, 1058, 1089, 1091, 1095,
  6480.                               1098, 1157, 1180, 1196, 1228, 1382, 1386,
  6481.                               1566, 1626, 1644, 1652, 1711, 2047, 2085,
  6482.                               2197, 2219, 2230, 2320, 2346, 2424, 2452
  6483.  
  6484.  
  6485.  
  6486.  
  6487.  
  6488.  
  6489.  
  6490.  
  6491.  
  6492.  
  6493.  
  6494.  
  6495.  
  6496.  
  6497.  
  6498.  
  6499.  
  6500.  
  6501.  
  6502.  
  6503.  
  6504.  
  6505.  
  6506.  
  6507.  
  6508.  
  6509.  
  6510.  
  6511.  
  6512.  
  6513.  
  6514.  
  6515.  
  6516.  
  6517.  
  6518. Page 100                                   TesSeRact CXL V5.5 Documentation
  6519. ---------------------------------------------------------------------------
  6520.  
  6521. NAME.........VcurPut           <TcxlVid.H>    Macro
  6522. .............VcurPt_
  6523.  
  6524. DESCRIPTION
  6525.      Set a new cursor location
  6526.  
  6527. PROTOTYPE....VOID VcurPut(VposT v);
  6528. .............VOID PAS VcurPt_(WrdT v);
  6529.  
  6530.   #define VcurPut(v) (VcurPt_(VposW(v)))
  6531.  
  6532. ARGUMENTS
  6533.   v   -  New Position
  6534.  
  6535. RETURNS......None
  6536.  
  6537. SEE ALSO
  6538.   Vgotoxy (Page 103)
  6539.   WcurPut (Page 70)
  6540.   Wgotoxy (Page 71)
  6541.  
  6542. EXAMPLE
  6543.      FILE: WIN\WACTIV.C.......Line: 120
  6544.      FILE: WIN\WCLOSE.C.......Line: 38
  6545.      FILE: WIN\WCURPUT.C......Line: 38
  6546.      FILE: WIN\WDRAG.C........Line: 126
  6547.      FILE: WIN\WGOTOXY.C......Line: 35
  6548.      FILE: WIN\WHIDE.C........Line: 52
  6549.      FILE: WIN\WMOVE.C........Line: 59
  6550.      FILE: WIN\WPERROR.C......Line: 52
  6551.      FILE: WIN\WPUTC.C........Line: 71
  6552.      FILE: WIN\WPUTS.C........Line: 74, 158
  6553.      FILE: WIN\WSHADOW.C......Line: 64
  6554.      FILE: WIN\WUNHIDE.C......Line: 62
  6555.      FILE: WIN\WWPRINTS.C.....Line: 94
  6556.      FILE: DSP\VATRREV.C......Line: 32
  6557.      FILE: DSP\VATRSET.C......Line: 28
  6558.      FILE: DSP\VCLEAR.C.......Line: 28
  6559.      FILE: DSP\VPRINTC.C......Line: 29
  6560.      FILE: DSP\VPRINTS.C......Line: 29
  6561.      FILE: INP\KEYGETC.C......Line: 145
  6562.      FILE: TCXLDEMO.C.........Line: 2196
  6563.  
  6564.  
  6565.  
  6566.  
  6567.  
  6568.  
  6569.  
  6570.  
  6571.  
  6572.  
  6573.  
  6574.  
  6575.  
  6576.  
  6577. TesSeRact CXL V5.5 Documentation                                   Page 101
  6578. ---------------------------------------------------------------------------
  6579.  
  6580. NAME.........VcurSet           <TcxlVid.H>
  6581.  
  6582. DESCRIPTION
  6583.      Set the cursor size
  6584.  
  6585. PROTOTYPE....VOID CTYP VcurSet(IntT s);
  6586.  
  6587. ARGUMENTS
  6588.   s   -  Underline cursor if zero, block cursor otherwise.
  6589.  
  6590. RETURNS......None
  6591.  
  6592. EXAMPLE
  6593.      FILE: ENT\ENTSHOW.C......Line: 97, 192, 196, 305
  6594.  
  6595. ---------------------------------------------------------------------------
  6596.  
  6597. NAME.........VcurSiz           <TcxlVid.H>    Macro
  6598. .............VcurSz_
  6599.  
  6600. DESCRIPTION
  6601.      Sets and gets the current cursor size/shape.
  6602.  
  6603. PROTOTYPE....VOID VcurSiz(VcseT c);
  6604. .............WrdT PAS VcurSz_(WrdT c);
  6605.  
  6606.   #define VcurSiz(c) (VcseW(c)=VcurSz_(VcseW(c)))
  6607.  
  6608. ARGUMENTS
  6609.   c   -  If 0:0, return cursor start/stop lines; otherwise, set
  6610.       cursor shape.
  6611.  
  6612. RETURNS
  6613.   Current Cursor Size
  6614.  
  6615. EXAMPLE
  6616.      FILE: SEL\SELATTR.C......Line: 135, 148
  6617.      FILE: DSP\VCURHID.C......Line: 26, 35, 40
  6618.      FILE: DSP\VCURSET.C......Line: 49
  6619.      FILE: DSP\VSETLIN.C......Line: 53
  6620.      FILE: INP\KEYGETC.C......Line: 139, 144
  6621.  
  6622.  
  6623.  
  6624.  
  6625.  
  6626.  
  6627.  
  6628.  
  6629.  
  6630.  
  6631.  
  6632.  
  6633.  
  6634.  
  6635.  
  6636. Page 102                                   TesSeRact CXL V5.5 Documentation
  6637. ---------------------------------------------------------------------------
  6638.  
  6639. NAME.........Vgotoxy           <TcxlVid.H>
  6640.  
  6641. DESCRIPTION
  6642.      Sets the cursor position to the passed row/col coordinate.
  6643.  
  6644. PROTOTYPE....VOID PAS Vgotoxy(IntT r, IntT c);
  6645.  
  6646. ARGUMENTS
  6647.   r   -  Row
  6648.   c   -  Column
  6649.  
  6650. RETURNS......None
  6651.  
  6652. SEE ALSO
  6653.   VcurPut (Page 101)
  6654.   WcurPut (Page 70)
  6655.   Wgotoxy (Page 71)
  6656.  
  6657. ---------------------------------------------------------------------------
  6658.  
  6659. NAME.........VposGet           <TcxlVid.H>    Macro
  6660.  
  6661. DESCRIPTION
  6662.      Reads the current cursor location.
  6663.  
  6664. PROTOTYPE....VOID PAS VposGet(IntT r, IntT c);
  6665.  
  6666.   #define VposGet(r,c) ((c)=MsInt(VcurGt_()); (r)=((c)>>8); (c)&=0xFF)
  6667.  
  6668. ARGUMENTS
  6669.   r   -  Row
  6670.   c   -  Column
  6671.  
  6672. RETURNS
  6673.   The current cursor location
  6674.  
  6675. SEE ALSO
  6676.   VcurGet (Page 99)
  6677.   WcurGet (Page 69)
  6678.   WposGet (Page 72)
  6679.  
  6680.  
  6681.  
  6682.  
  6683.  
  6684.  
  6685.  
  6686.  
  6687.  
  6688.  
  6689.  
  6690.  
  6691.  
  6692.  
  6693.  
  6694.  
  6695. TesSeRact CXL V5.5 Documentation                                   Page 103
  6696. ---------------------------------------------------------------------------
  6697.  
  6698.                              Attribute Control
  6699.  
  6700. ---------------------------------------------------------------------------
  6701.  
  6702. NAME.........VatrInv           <TcxlVid.H>
  6703.  
  6704. DESCRIPTION
  6705.      Returns the inverse of the given text attribute (See Appendix A).
  6706.  
  6707. PROTOTYPE....IntT PAS VatrInv(IntT a);
  6708.  
  6709. ARGUMENTS
  6710.   a   -  Attribute (See Appendix A) to Invert
  6711.  
  6712. RETURNS
  6713.   Inverted Attribute
  6714.  
  6715. EXAMPLE
  6716.      FILE: MNU\MNUEND.C.......Line: 50
  6717.      FILE: ENT\ENTDEF.C.......Line: 35
  6718.      FILE: SEL\_SELECT.C......Line: 88
  6719.      FILE: WIN\WPUTS.C........Line: 117
  6720.  
  6721.  
  6722.  
  6723.  
  6724.  
  6725.  
  6726.  
  6727.  
  6728.  
  6729.  
  6730.  
  6731.  
  6732.  
  6733.  
  6734.  
  6735.  
  6736.  
  6737.  
  6738.  
  6739.  
  6740.  
  6741.  
  6742.  
  6743.  
  6744.  
  6745.  
  6746.  
  6747.  
  6748.  
  6749.  
  6750.  
  6751.  
  6752.  
  6753.  
  6754. Page 104                                   TesSeRact CXL V5.5 Documentation
  6755. ---------------------------------------------------------------------------
  6756.  
  6757. NAME.........VatrMap           <TcxlVid.H>
  6758.  
  6759. DESCRIPTION
  6760.      Translates a  color  text  attribute  (See  Appendix  A)  into  its
  6761.      approximate monochrome  equivalent.   All of  CXL's video functions
  6762.      automatically call  this, so  you would  only need to call this for
  6763.      your own functions.
  6764.  
  6765. PROTOTYPE....IntT CTYP VatrMap(IntT a);
  6766.  
  6767. ARGUMENTS
  6768.   a   -  Attribute (See Appendix A) to translate
  6769.  
  6770. RETURNS
  6771.   Monochrome Equavalent
  6772.  
  6773. EXAMPLE
  6774.      FILE: MNU\ITMTXT.C.......Line: 28
  6775.      FILE: MNU\MNUBEG.C.......Line: 56, 57
  6776.      FILE: MNU\MNUEND.C.......Line: 47, 48, 49
  6777.      FILE: ENT\ENTDEF.C.......Line: 34
  6778.      FILE: HLP\HLPDEF.C.......Line: 59, 60, 61, 62
  6779.      FILE: WIN\WCHGATR.C......Line: 30, 31
  6780.      FILE: WIN\WOPEN.C........Line: 52, 53
  6781.      FILE: WIN\WPRTC.C........Line: 32
  6782.      FILE: WIN\WSETTXT.C......Line: 22
  6783.      FILE: WIN\WSHADOW.C......Line: 38
  6784.      FILE: WIN\WTITLE.C.......Line: 31
  6785.      FILE: WIN\WWPRINTS.C.....Line: 59
  6786.      FILE: DSP\VATRSET.C......Line: 24
  6787.      FILE: DSP\VCLEAR.C.......Line: 27
  6788.      FILE: DSP\VDRWBOX.C......Line: 28
  6789.      FILE: DSP\VFILBOX.C......Line: 27
  6790.      FILE: DSP\VPRINTC.C......Line: 24
  6791.      FILE: DSP\VPRINTS.C......Line: 24
  6792.      FILE: HDW\FMTFLIP.C......Line: 28, 32
  6793.  
  6794.  
  6795.  
  6796.  
  6797.  
  6798.  
  6799.  
  6800.  
  6801.  
  6802.  
  6803.  
  6804.  
  6805.  
  6806.  
  6807.  
  6808.  
  6809.  
  6810.  
  6811.  
  6812.  
  6813. TesSeRact CXL V5.5 Documentation                                   Page 105
  6814. ---------------------------------------------------------------------------
  6815.  
  6816. NAME.........VatrRev           <TcxlVid.H>
  6817.  
  6818. DESCRIPTION
  6819.      Reverses the  attribute (See Appendix A) of the character under the
  6820.      current cursor  position, and continues for the specified number of
  6821.      characters. Uses video BIOS calls.
  6822.  
  6823. PROTOTYPE....VOID CTYP VatrRev(IntT n);
  6824.  
  6825. ARGUMENTS
  6826.   n   -  Count of Characters to Reverse
  6827.  
  6828. RETURNS......None
  6829.  
  6830. ---------------------------------------------------------------------------
  6831.  
  6832. NAME.........VatrSet           <TcxlVid.H>
  6833.  
  6834. DESCRIPTION
  6835.      Sets the  attribute (See  Appendix A)  of the  character under  the
  6836.      current cursor  location, and continues for the specified number of
  6837.      characters. Uses video BIOS calls.
  6838.  
  6839. PROTOTYPE....VOID CTYP VatrSet(IntT a, IntT n);
  6840.  
  6841. ARGUMENTS
  6842.   a   -  Attribute (See Appendix A) to set
  6843.   n   -  Count of Characters to Set
  6844.  
  6845. RETURNS......None
  6846.  
  6847. ---------------------------------------------------------------------------
  6848.  
  6849. NAME.........VatrTxt           <TcxlVid.H>
  6850.  
  6851. DESCRIPTION
  6852.      Converts  an   attribute  (See   Appendix  A)  to  it's  text-based
  6853.      equivalent.
  6854.  
  6855. PROTOTYPE....ChrP CTYP VatrTxt(IntT a);
  6856.  
  6857. ARGUMENTS
  6858.   a   -  Attribute (See Appendix A)
  6859.  
  6860. RETURNS
  6861.   Static string with color text.
  6862.  
  6863. EXAMPLE
  6864.      FILE: TCXLDEMO.C.........Line: 1096
  6865.  
  6866.  
  6867.  
  6868.  
  6869.  
  6870.  
  6871.  
  6872. Page 106                                   TesSeRact CXL V5.5 Documentation
  6873. ---------------------------------------------------------------------------
  6874.  
  6875. NAME.........Vattrib           <TcxlVid.H>    Macro
  6876.  
  6877. DESCRIPTION
  6878.      Creates a  text attribute  (See Appendix  A).   It is  usually much
  6879.      easier to  create a  text attribute using the attribute identifiers
  6880.      listed in Appendix A, but this provides an alternate method.
  6881.  
  6882. PROTOTYPE....IntT Vattrib(IntT f, IntT b, IntT i, IntT h);
  6883.  
  6884.   #define Vattrib(f,b,i,h) ((b<<4)|(f)|(i<<3)|(h<<7))
  6885.  
  6886. ARGUMENTS
  6887.   f   -  Foreground Color
  6888.   b   -  Background Color
  6889.   i   -  Intensity
  6890.   h   -  Blink Bit
  6891.  
  6892. RETURNS
  6893.   The new attribute code
  6894.  
  6895. ---------------------------------------------------------------------------
  6896.  
  6897.                             Video-Disk Routines
  6898.  
  6899. ---------------------------------------------------------------------------
  6900.  
  6901. NAME.........VsavBox           <TcxlVid.H>    Macro
  6902. .............VsavBx_
  6903.  
  6904. DESCRIPTION
  6905.      Copies an area of the screen to a disk file.
  6906.  
  6907. PROTOTYPE....IntT VsavBox(VposT s, VposT e, ChrP f);
  6908. .............IntT CTYP VsavBx_(WrdT s, WrdT e, ChrP f);
  6909.  
  6910.   #define VsavBox(s,e,f) (VsavBx_(VposW(s),VposW(e),(f)))
  6911.  
  6912. ARGUMENTS
  6913.   s   -  Start Position
  6914.   e   -  End Position
  6915.   f   -  Filename to use
  6916.  
  6917. RETURNS
  6918.   Nonzero on error
  6919.  
  6920.  
  6921.  
  6922.  
  6923.  
  6924.  
  6925.  
  6926.  
  6927.  
  6928.  
  6929.  
  6930.  
  6931. TesSeRact CXL V5.5 Documentation                                   Page 107
  6932. ---------------------------------------------------------------------------
  6933.  
  6934. NAME.........VlodBox           <TcxlVid.H>
  6935.  
  6936. DESCRIPTION
  6937.      Copies a previously saved window disk file to the screen.
  6938.  
  6939. PROTOTYPE....IntT CTYP VlodBox(ChrP f);
  6940.  
  6941. ARGUMENTS
  6942.   f   -  Filename
  6943.  
  6944. RETURNS
  6945.   Nonzero on error
  6946.  
  6947. ---------------------------------------------------------------------------
  6948.  
  6949. NAME.........VsavScr           <TcxlVid.H>
  6950.  
  6951. DESCRIPTION
  6952.      Copies the current screen to a disk file.
  6953.  
  6954. PROTOTYPE....IntT CTYP VsavScr(ChrP f)
  6955.  
  6956. ARGUMENTS
  6957.   f   -  Filename
  6958.  
  6959. RETURNS
  6960.   Nonzero on error
  6961.  
  6962. ---------------------------------------------------------------------------
  6963.  
  6964. NAME.........VlodScr           <TcxlVid.H>
  6965.  
  6966. DESCRIPTION
  6967.      Restores a previewsly saved screen from disk.
  6968.  
  6969. PROTOTYPE....IntT CTYP VlodScr(ChrP f);
  6970.  
  6971. ARGUMENTS
  6972.   f   -  Filename
  6973.  
  6974. RETURNS
  6975.   Nonzero on error
  6976.  
  6977.  
  6978.  
  6979.  
  6980.  
  6981.  
  6982.  
  6983.  
  6984.  
  6985.  
  6986.  
  6987.  
  6988.  
  6989.  
  6990. Page 108                                   TesSeRact CXL V5.5 Documentation
  6991. ---------------------------------------------------------------------------
  6992.  
  6993.  
  6994.                                Input System
  6995.  
  6996.  
  6997.                             Active Window Input
  6998.  
  6999. ---------------------------------------------------------------------------
  7000.  
  7001. NAME.........KwGetCf           <TcxlKey.H>
  7002.  
  7003. DESCRIPTION
  7004.      Gets  a  character  from  the  keyboard.    Allows  input  only  of
  7005.      characters listed  in the  string of  valid  characters.    Entered
  7006.      characters will  be echoed  to the  active window using the current
  7007.      text attribute  (See Appendix  A).   Cursor  position  is  updated.
  7008.      Escape checking  is provided by default, but can be turned off with
  7009.      the WsetEsc() function.
  7010.  
  7011. PROTOTYPE....IntT CTYP KwGetCf(ChrP v, IntT d);
  7012.  
  7013. ARGUMENTS
  7014.   v   -  Valid Character String
  7015.   d   -  Default Selection
  7016.  
  7017. RETURNS
  7018.   The ASCII  value of  the key  pressed, or a zero if an error occurred.
  7019.   On error, TcxlErr Returns:
  7020.       W_NOACTIVE    -    No Active Window
  7021.       W_ESCPRESS    -    The [Esc] Key Was Pressed
  7022.  
  7023. SEE ALSO
  7024.   KvGetCf (Page 115)
  7025.  
  7026. EXAMPLE
  7027.      FILE: INP\KWGETYN.C......Line: 27
  7028.  
  7029.  
  7030.  
  7031.  
  7032.  
  7033.  
  7034.  
  7035.  
  7036.  
  7037.  
  7038.  
  7039.  
  7040.  
  7041.  
  7042.  
  7043.  
  7044.  
  7045.  
  7046.  
  7047.  
  7048.  
  7049. TesSeRact CXL V5.5 Documentation                                   Page 109
  7050. ---------------------------------------------------------------------------
  7051.  
  7052. NAME.........KwGetCh           <TcxlKey.H>
  7053.  
  7054. DESCRIPTION
  7055.      Gets a  character from  the keyboard.   Entered  character will  be
  7056.      echoed to  the  active  window  using  the  window's  current  text
  7057.      attribute (See Appendix A).  Cursor position is updated.
  7058.  
  7059. PROTOTYPE....IntT CTYP KwGetCh(NOARG);
  7060.  
  7061. ARGUMENTS....None
  7062.  
  7063. RETURNS
  7064.   The ASCII  value of  the key  pressed, or a zero if an error occurred.
  7065.   On error, TcxlErr Returns:
  7066.       W_NOACTIVE    -    No Active Window
  7067.  
  7068. SEE ALSO
  7069.   KvGetCh (Page 115)
  7070.  
  7071. EXAMPLE
  7072.      FILE: INP\KWGETST.C......Line: 28
  7073.  
  7074.  
  7075.  
  7076.  
  7077.  
  7078.  
  7079.  
  7080.  
  7081.  
  7082.  
  7083.  
  7084.  
  7085.  
  7086.  
  7087.  
  7088.  
  7089.  
  7090.  
  7091.  
  7092.  
  7093.  
  7094.  
  7095.  
  7096.  
  7097.  
  7098.  
  7099.  
  7100.  
  7101.  
  7102.  
  7103.  
  7104.  
  7105.  
  7106.  
  7107.  
  7108. Page 110                                   TesSeRact CXL V5.5 Documentation
  7109. ---------------------------------------------------------------------------
  7110.  
  7111. NAME.........KwGetFmt          <TcxlKey.H>
  7112.  
  7113. DESCRIPTION
  7114.      Inputs a  formatted string  from the  keyboard.  Characters will be
  7115.      echoed to  the active  window in  the current  text attribute  (See
  7116.      Appendix A).   Cursor  position is  updated.   Escape  checking  is
  7117.      provided by  default, but  can be  turned off  with  the  WsetEsc()
  7118.      function.
  7119.      This function  provides an  extremely  powerful  method  of  accept
  7120.      single-line input from the user.  You can limit input characters to
  7121.      certain characters  of a  type, such  as numbers, insert strings in
  7122.      between typed in characters, create custom prompts, disable [Enter]
  7123.      until the field is filled, and more.
  7124.  
  7125. PROTOTYPE....IntT CTYP KwGetFmt(ChrP s, ChrP f);
  7126.  
  7127. ARGUMENTS
  7128.   s   -  Buffer To Receive Input String
  7129.   f   -  Format String (See Appendix E)
  7130.  
  7131. RETURNS
  7132.   ERR_NUL  -  No Error
  7133.   ERR_ARG  -  Argument Failure
  7134.       TcxlErr Returns:
  7135.       W_NOACTIVE    -    No Active Window
  7136.       W_ESCPRESS    -    The [Esc] Key Was Pressed
  7137.       W_INVFORMT    -    Invalid Format String
  7138.  
  7139. SEE ALSO
  7140.   KvGetFmt (Page 116)
  7141.  
  7142. EXAMPLE
  7143.      FILE: TCXLDEMO.C.........Line: 1166, 1171, 1176
  7144.  
  7145.  
  7146.  
  7147.  
  7148.  
  7149.  
  7150.  
  7151.  
  7152.  
  7153.  
  7154.  
  7155.  
  7156.  
  7157.  
  7158.  
  7159.  
  7160.  
  7161.  
  7162.  
  7163.  
  7164.  
  7165.  
  7166.  
  7167. TesSeRact CXL V5.5 Documentation                                   Page 111
  7168. ---------------------------------------------------------------------------
  7169.  
  7170. NAME.........KwGetSn           <TcxlKey.H>
  7171.  
  7172. DESCRIPTION
  7173.      Gets a  string from the keyboard, limiting the number of characters
  7174.      input to  the specified  length.   Characters will be echoed to the
  7175.      active window  in the  current text  attribute  (See  Appendix  A).
  7176.      Cursor position  is  updated.    Escape  checking  is  provided  by
  7177.      default, but can be turned off with the WsetEsc() function.
  7178.  
  7179. PROTOTYPE....IntT CTYP KwGetSn(ChrP s, IntT m);
  7180.  
  7181. ARGUMENTS
  7182.   s   -  Buffer To Receive Input String
  7183.   m   -  Maximum Length of Input String
  7184.  
  7185. RETURNS
  7186.   ERR_NUL  -  No Error
  7187.   ERR_ARG  -  Argument Failure
  7188.       TcxlErr Returns:
  7189.       W_NOACTIVE    -    No Active Window
  7190.       W_ESCPRESS    -    The [Esc] Key Was Pressed
  7191.  
  7192. SEE ALSO
  7193.   KvGetSn (Page 116)
  7194.  
  7195. ---------------------------------------------------------------------------
  7196.  
  7197. NAME.........KwGetSt           <TcxlKey.H>
  7198.  
  7199. DESCRIPTION
  7200.      Gets a  string from the keyboard.  Characters will be echoed to the
  7201.      active window  in the  current text  attribute  (See  Appendix  A).
  7202.      Cursor position  is  updated.    Escape  checking  is  provided  by
  7203.      default, but can be turned off with the WsetEsc() function.
  7204.  
  7205. PROTOTYPE....IntT CTYP KwGetSt(ChrP ps);
  7206.  
  7207. ARGUMENTS
  7208.   ps  -  Buffer To Receive Input String
  7209.  
  7210. RETURNS
  7211.   ERR_NUL  -  No Error
  7212.   ERR_ARG  -  Argument Failure
  7213.       TcxlErr Returns:
  7214.       W_NOACTIVE    -    No Active Window
  7215.       W_ESCPRESS    -    The [Esc] Key Was Pressed
  7216.  
  7217. SEE ALSO
  7218.   KvGetSt (Page 117)
  7219.  
  7220. EXAMPLE
  7221.      FILE: INP\KWSCANF.C......Line: 38
  7222.  
  7223.  
  7224.  
  7225.  
  7226. Page 112                                   TesSeRact CXL V5.5 Documentation
  7227. ---------------------------------------------------------------------------
  7228.  
  7229. NAME.........KwGetYn           <TcxlKey.H>
  7230.  
  7231. DESCRIPTION
  7232.      Gets a  [Y]es or  [N]o response  from the keyboard.  After the user
  7233.      presses [Enter], "Y", "N", "y", or "n", the text "Yes" or "No" will
  7234.      be displayed  in the  active window  in the  current text attribute
  7235.      (See Appendix  A).  Cursor position is updated.  Escape checking is
  7236.      provided by  default, but  can be  turned off  with  the  WsetEsc()
  7237.      function.
  7238.  
  7239. PROTOTYPE....IntT CTYP KwGetYn(IntT cd);
  7240.  
  7241. ARGUMENTS
  7242.   cd  -  The Default Value (0=No, 1=Yes)
  7243.  
  7244. RETURNS
  7245.   'Y' if Yes was selected, an 'N' if No was selected, or a '\0' if the
  7246.   user pressed [Esc] and Escape checking was on.
  7247.  
  7248. SEE ALSO
  7249.   KvGetYn (Page 117)
  7250.  
  7251. EXAMPLE
  7252.      FILE: TCXLDEMO.C.........Line: 1038, 1048, 1383, 1486
  7253.  
  7254.  
  7255.  
  7256.  
  7257.  
  7258.  
  7259.  
  7260.  
  7261.  
  7262.  
  7263.  
  7264.  
  7265.  
  7266.  
  7267.  
  7268.  
  7269.  
  7270.  
  7271.  
  7272.  
  7273.  
  7274.  
  7275.  
  7276.  
  7277.  
  7278.  
  7279.  
  7280.  
  7281.  
  7282.  
  7283.  
  7284.  
  7285. TesSeRact CXL V5.5 Documentation                                   Page 113
  7286. ---------------------------------------------------------------------------
  7287.  
  7288. NAME.........KwScanf           <TcxlKey.H>
  7289.  
  7290. DESCRIPTION
  7291.  
  7292.      !!!!NOTE!!!!   This function  is only  available with  the Turbo  C
  7293.      versions of  TCXL.   Neither Microsoft  C nor Zortech C/C++ provide
  7294.      the  necessary   vsscanf()  function   needed  to   implement  this
  7295.      procedure.
  7296.  
  7297.      Inputs a  formatted string  from the  keyboard.  Characters will be
  7298.      echoed to  the active  window in  the current  text attribute  (See
  7299.      Appendix A).   Cursor  position is  updated.   Escape  checking  is
  7300.      provided by  default, but  can be  turned off  with  the  WsetEsc()
  7301.      function.
  7302.      This function  works identical  to the  C library  routine scanf(),
  7303.      except that input is done to the default window.
  7304.  
  7305. PROTOTYPE....IntT CDC KwScanf(ChrP fs, ...);
  7306.  
  7307. ARGUMENTS
  7308.   fs  -  Format String (see your compiler's documentation)
  7309.   ... -  Additional Arguments
  7310.  
  7311. RETURNS
  7312.   ERR_NUL  -  No Error
  7313.   ERR_ARG  -  Argument Failure
  7314.       TcxlErr Returns:
  7315.       W_NOACTIVE    -    No Active Window
  7316.       W_ESCPRESS    -    The [Esc] Key Was Pressed
  7317.  
  7318. SEE ALSO
  7319.   KvScanf (Page 118)
  7320.  
  7321.  
  7322.  
  7323.  
  7324.  
  7325.  
  7326.  
  7327.  
  7328.  
  7329.  
  7330.  
  7331.  
  7332.  
  7333.  
  7334.  
  7335.  
  7336.  
  7337.  
  7338.  
  7339.  
  7340.  
  7341.  
  7342.  
  7343.  
  7344. Page 114                                   TesSeRact CXL V5.5 Documentation
  7345. ---------------------------------------------------------------------------
  7346.  
  7347.                             Default Video Input
  7348.  
  7349. ---------------------------------------------------------------------------
  7350.  
  7351. NAME.........KvGetCf           <TcxlKey.H>
  7352.  
  7353. DESCRIPTION
  7354.      Gets  a  character  from  the  keyboard.    Allows  input  only  of
  7355.      characters listed  in the  string of  valid  characters.    Entered
  7356.      characters will  be echoed  to the  Standard Output device.  Escape
  7357.      checking is always on.
  7358.  
  7359. PROTOTYPE....IntT CTYP KvGetCf(ChrP v, IntT d);
  7360.  
  7361. ARGUMENTS
  7362.   v   -  Valid Character String
  7363.   d   -  Default Selection
  7364.  
  7365. RETURNS
  7366.   The ASCII value of the key pressed, or a zero if [Esc] is pressed.
  7367.  
  7368. SEE ALSO
  7369.   KwGetCf (Page 109)
  7370.  
  7371. EXAMPLE
  7372.      FILE: INP\KVGETYN.C......Line: 23
  7373.  
  7374. ---------------------------------------------------------------------------
  7375.  
  7376. NAME.........KvGetCh           <TcxlKey.H>
  7377.  
  7378. DESCRIPTION
  7379.      Gets a  character from  the keyboard.   Entered  characters will be
  7380.      echoed to Standard Output Device.
  7381.  
  7382. PROTOTYPE....IntT CTYP KvGetCh(NOARG);
  7383.  
  7384. ARGUMENTS....None
  7385.  
  7386. RETURNS
  7387.   The ASCII value of the key pressed.
  7388.  
  7389. SEE ALSO
  7390.   KwGetCh (Page 110)
  7391.  
  7392. EXAMPLE
  7393.      FILE: INP\KVGETST.C......Line: 26
  7394.  
  7395.  
  7396.  
  7397.  
  7398.  
  7399.  
  7400.  
  7401.  
  7402.  
  7403. TesSeRact CXL V5.5 Documentation                                   Page 115
  7404. ---------------------------------------------------------------------------
  7405.  
  7406. NAME.........KvGetFmt          <TcxlKey.H>
  7407.  
  7408. DESCRIPTION
  7409.      Inputs a  formatted string  from the  keyboard.  Characters will be
  7410.      echoed to the Standard Output Device.
  7411.      This function  provides an  extremely  powerful  method  of  accept
  7412.      single-line input from the user.  You can limit input characters to
  7413.      certain characters  of a  type, such  as numbers, insert strings in
  7414.      between typed in characters, create custom prompts, disable [Enter]
  7415.      until the field is filled, and more.
  7416.  
  7417. PROTOTYPE....IntT CTYP KvGetFmt(ChrP s, ChrP f);
  7418.  
  7419. ARGUMENTS
  7420.   s   -  Buffer To Receive Input String
  7421.   f   -  Format String (See Appendix E)
  7422.  
  7423. RETURNS
  7424.   Zero on Success, -1 on invalid format, or 1 if [Esc] was pressed.
  7425.  
  7426. SEE ALSO
  7427.   KwGetFmt (Page 111)
  7428.  
  7429. ---------------------------------------------------------------------------
  7430.  
  7431. NAME.........KvGetSn           <TcxlKey.H>
  7432.  
  7433. DESCRIPTION
  7434.      Gets a  string from the keyboard, limiting the number of characters
  7435.      input to  the specified  length.   Characters will be echoed to the
  7436.      Standard Output Device.
  7437.  
  7438. PROTOTYPE....IntT CTYP KvGetSn(ChrP s, IntT m);
  7439.  
  7440. ARGUMENTS
  7441.   s   -  Buffer To Receive Input String
  7442.   m   -  Maximum Length of Input String
  7443.  
  7444. RETURNS
  7445.   Zero for success, 1 if ESC is pressed.
  7446.  
  7447. SEE ALSO
  7448.   KwGetSn (Page 112)
  7449.  
  7450.  
  7451.  
  7452.  
  7453.  
  7454.  
  7455.  
  7456.  
  7457.  
  7458.  
  7459.  
  7460.  
  7461.  
  7462. Page 116                                   TesSeRact CXL V5.5 Documentation
  7463. ---------------------------------------------------------------------------
  7464.  
  7465. NAME.........KvGetSt           <TcxlKey.H>
  7466.  
  7467. DESCRIPTION
  7468.      Gets a  string from the keyboard.  Characters will be echoed to the
  7469.      Standard Output Device.
  7470.  
  7471. PROTOTYPE....VOID CTYP KvGetSt(ChrP ps);
  7472.  
  7473. ARGUMENTS
  7474.   ps  -  Buffer To Receive Input String
  7475.  
  7476. RETURNS......None
  7477.  
  7478. SEE ALSO
  7479.   KwGetSt (Page 112)
  7480.  
  7481. EXAMPLE
  7482.      FILE: INP\KVSCANF.C......Line: 34
  7483.  
  7484. ---------------------------------------------------------------------------
  7485.  
  7486. NAME.........KvGetYn           <TcxlKey.H>
  7487.  
  7488. DESCRIPTION
  7489.      Gets a  [Y]es or  [N]o response  from the keyboard.  After the user
  7490.      presses [Enter], "Y", "N", "y", or "n", the text "Yes" or "No" will
  7491.      be displayed to the Standard Output Device.
  7492.  
  7493.  
  7494. PROTOTYPE....IntT CTYP KvGetYn(IntT cd);
  7495.  
  7496. ARGUMENTS
  7497.   cd  -  The Default Value (0=No, 1=Yes)
  7498.  
  7499. RETURNS
  7500.   'Y' if Yes was selected, an 'N' if No was selected.
  7501.  
  7502. SEE ALSO
  7503.   KwGetYn (Page 113)
  7504.  
  7505.  
  7506.  
  7507.  
  7508.  
  7509.  
  7510.  
  7511.  
  7512.  
  7513.  
  7514.  
  7515.  
  7516.  
  7517.  
  7518.  
  7519.  
  7520.  
  7521. TesSeRact CXL V5.5 Documentation                                   Page 117
  7522. ---------------------------------------------------------------------------
  7523.  
  7524. NAME.........KvScanf           <TcxlKey.H>
  7525.  
  7526. DESCRIPTION
  7527.  
  7528.      !!!!NOTE!!!!   This function  is only  available with  the Turbo  C
  7529.      versions of  TCXL.   Neither Microsoft  C nor Zortech C/C++ provide
  7530.      the  necessary   vsscanf()  function   needed  to   implement  this
  7531.      procedure.
  7532.  
  7533.      Inputs a  formatted string  from the  keyboard.  Characters will be
  7534.      echoed to Standard Output Device.
  7535.      This function works identical to the C library routine scanf().
  7536.  
  7537. PROTOTYPE....VOID CDC KvScanf(ChrP fs, ...);
  7538.  
  7539. ARGUMENTS
  7540.   fs  -  Format String (see your compiler's documentation)
  7541.   ... -  Additional Arguments
  7542.  
  7543. RETURNS......None
  7544.  
  7545. SEE ALSO
  7546.   KwScanf (Page 114)
  7547.  
  7548. ---------------------------------------------------------------------------
  7549.  
  7550.                             Asynchronous Input
  7551.  
  7552. ---------------------------------------------------------------------------
  7553.  
  7554. NAME.........KbndChg           <TcxlKey.H>
  7555.  
  7556. DESCRIPTION
  7557.      The KbndSet()  (Page 120)  function builds a stacked list in memory
  7558.      that contains  each defined  keycode binding.  This function allows
  7559.      you to  maintain multiple  key binding  lists and  change back  and
  7560.      forth between  them.  KbndChg() provides painless switching between
  7561.      various Key Binding lists.
  7562.  
  7563. PROTOTYPE....KbndP CTYP KbndChg(KbndP l);
  7564.  
  7565. ARGUMENTS
  7566.   l   -  New Key Binding
  7567.  
  7568. RETURNS
  7569.   Old Key Binding
  7570.  
  7571. EXAMPLE
  7572.      FILE: HLP\HLPSHOW.C......Line: 81, 144
  7573.      FILE: TCXLDEMO.C.........Line: 1375, 1387
  7574.  
  7575.  
  7576.  
  7577.  
  7578.  
  7579.  
  7580. Page 118                                   TesSeRact CXL V5.5 Documentation
  7581. ---------------------------------------------------------------------------
  7582.  
  7583. NAME.........KbndClr           <TcxlKey.H>
  7584.  
  7585. DESCRIPTION
  7586.      Removes bindings for the passed keycode.
  7587.  
  7588. PROTOTYPE....IntT CTYP KbndClr(KeyT k);
  7589.  
  7590. ARGUMENTS
  7591.   k   -  Keycode to unbind.
  7592.  
  7593. RETURNS
  7594.   0 on success, 1 if not found.
  7595.  
  7596. EXAMPLE
  7597.      FILE: HLP\HLPSHOW.C......Line: 192, 194, 195, 313, 333, 342
  7598.      FILE: INP\KBNDSET.C......Line: 26
  7599.  
  7600. ---------------------------------------------------------------------------
  7601.  
  7602. NAME.........KbndFre           <TcxlKey.H>
  7603.  
  7604. DESCRIPTION
  7605.      Free all key bindings from memory.
  7606.  
  7607. PROTOTYPE....VOID CTYP KbndFre(NOARG);
  7608.  
  7609. ARGUMENTS....None
  7610.  
  7611. RETURNS......None
  7612.  
  7613. EXAMPLE
  7614.      FILE: HLP\HLPSHOW.C......Line: 143
  7615.  
  7616. ---------------------------------------------------------------------------
  7617.  
  7618. NAME.........KbndIdle          <TcxlKey.H>    Macro
  7619.  
  7620. DESCRIPTION
  7621.      This binds  the passed  function to the keyboard idle loop.  During
  7622.      KeyGetc() processing,  if no  input is  available, this  routine is
  7623.      called.   !!! WARNING  !!! Do  not attempt to update the display or
  7624.      windows every  time this  routine is called.  Doing so will cause a
  7625.      mouse cursor to "flicker".  Only update the display when needed.
  7626.  
  7627. PROTOTYPE....VOID KbndIdle(VfvCP a);
  7628.  
  7629.   #define KbndIdle(a) (KctlIdl = a)
  7630.  
  7631. ARGUMENTS
  7632.   a   -  Idle Function
  7633.  
  7634. RETURNS......None
  7635.  
  7636. EXAMPLE
  7637.      FILE: TCXLDEMO.C.........Line: 889, 983
  7638.  
  7639. TesSeRact CXL V5.5 Documentation                                   Page 119
  7640. ---------------------------------------------------------------------------
  7641.  
  7642. NAME.........KbndSet           <TcxlKey.H>
  7643.  
  7644. DESCRIPTION
  7645.      Binds a  keypress to  a function  call.   Works by intercepting any
  7646.      calls to  TCXL input functions.  During Input processing, the input
  7647.      function will  determine if  a key-binding exists; if so, the bound
  7648.      routine will  be executed, and the appropriate key will be returned
  7649.      to the  calling function.   If  no binding exists, the Input System
  7650.      will continue processing as normal.
  7651.  
  7652. PROTOTYPE....IntT CTYP KbndSet(KeyT k, VfvCP f, KeyT r);
  7653.  
  7654. ARGUMENTS
  7655.   k   -  Keycode to Bind.
  7656.   f   -  Function to Call When Key is Pressed.
  7657.   r   -  Keycode to Return to Caller After 'f' is Completed.  If zero,
  7658.       then nothing will be returned, and execution will resume as if no
  7659.       key had been pressed.
  7660.  
  7661. RETURNS
  7662.   0 on success, 1 on allocation failure.
  7663.  
  7664. EXAMPLE
  7665.      FILE: HLP\HLPSHOW.C......Line: 184, 186, 187
  7666.      FILE: TCXLDEMO.C.........Line: 748, 2311
  7667.  
  7668. ---------------------------------------------------------------------------
  7669.  
  7670.                             Input With No Echo
  7671.  
  7672. ---------------------------------------------------------------------------
  7673.  
  7674. NAME.........KeyClear          <TcxlKey.H>    Macro
  7675.  
  7676. DESCRIPTION
  7677.      Clears the keyboard buffer.
  7678.  
  7679. PROTOTYPE....VOID KeyClear(NOARG);
  7680.  
  7681.   #define KeyClear() while(_KeyHit()) _KeyGet()
  7682.  
  7683. ARGUMENTS....None
  7684.  
  7685. RETURNS......None
  7686.  
  7687. EXAMPLE
  7688.      FILE: INP\KEYTIME.C......Line: 27
  7689.      FILE: TCXLDEMO.C.........Line: 1037, 1047, 1144, 1182, 1231, 1381,
  7690.                               1485
  7691.  
  7692.  
  7693.  
  7694.  
  7695.  
  7696.  
  7697.  
  7698. Page 120                                   TesSeRact CXL V5.5 Documentation
  7699. ---------------------------------------------------------------------------
  7700.  
  7701. NAME.........KeyEvent          <TcxlKey.H>
  7702.  
  7703. DESCRIPTION
  7704.      Determines if a key or mouse button has been pressed.  If no events
  7705.      are pending,  calls the  Idle  function  (if  defined)  as  set  by
  7706.      KbndIdle() (Page 119)
  7707.  
  7708. PROTOTYPE....IntT CTYP KeyEvent(NOARG);
  7709.  
  7710. ARGUMENTS....None
  7711.  
  7712. RETURNS
  7713.   TRUE if event pending, FALSE otherwise.
  7714.  
  7715. EXAMPLE
  7716.      FILE: INP\KEYTIME.C......Line: 30
  7717.  
  7718. ---------------------------------------------------------------------------
  7719.  
  7720. NAME.........KeyGetc           <TcxlKey.H>
  7721.  
  7722. DESCRIPTION
  7723.      Gets a  keycode (ASCII/ScanCode)  from  the  keyboard,  mouse,  and
  7724.      internal queue.
  7725.  
  7726. PROTOTYPE....KeyT CTYP KeyGetc(NOARG);
  7727.  
  7728. ARGUMENTS....None
  7729.  
  7730. RETURNS
  7731.   Keycode of the event.
  7732.  
  7733. EXAMPLE
  7734.      FILE: MNU\MNUSHOW.C......Line: 121
  7735.      FILE: ENT\ENTSHOW.C......Line: 118
  7736.      FILE: HLP\HLPSHOW.C......Line: 228
  7737.      FILE: SEL\SELATTR.C......Line: 53
  7738.      FILE: SEL\_SELECT.C......Line: 133
  7739.      FILE: INP\KEYTIME.C......Line: 35
  7740.      FILE: INP\KVGETCF.C......Line: 26
  7741.      FILE: INP\KVGETCH.C......Line: 23
  7742.      FILE: INP\KVGETFMT.C.....Line: 54
  7743.      FILE: INP\KVGETSN.C......Line: 27
  7744.      FILE: INP\KWGETCF.C......Line: 32
  7745.      FILE: INP\KWGETCH.C......Line: 28
  7746.      FILE: INP\KWGETFMT.C.....Line: 60
  7747.      FILE: INP\KWGETSN.C......Line: 30
  7748.      FILE: TCXLDEMO.C.........Line: 1733
  7749.  
  7750.  
  7751.  
  7752.  
  7753.  
  7754.  
  7755.  
  7756.  
  7757. TesSeRact CXL V5.5 Documentation                                   Page 121
  7758. ---------------------------------------------------------------------------
  7759.  
  7760. NAME.........KeyPeek           <TcxlKey.H>    Macro
  7761.  
  7762. DESCRIPTION
  7763.      Looks at  the next  keystroke in  the  BIOS  keyboard  buffer,  and
  7764.      returns its ASCII/ScanCode value.
  7765.  
  7766. PROTOTYPE....KeyT KeyPeek(NOARG);
  7767.  
  7768.   #define KeyPeek() (_KeyHit())
  7769.  
  7770. ARGUMENTS....None
  7771.  
  7772. RETURNS
  7773.   KeyCode of the next key in buffer, or zero if nothing available.
  7774.  
  7775. ---------------------------------------------------------------------------
  7776.  
  7777. NAME.........KeyStat           <TcxlKey.H>    Macro
  7778.  
  7779. DESCRIPTION
  7780.      Returns the status of the keyboard control keys.
  7781.  
  7782. PROTOTYPE....WrdT KeyStat(NOARG);
  7783.  
  7784.   #define KeyStat() (_KeySta())
  7785.  
  7786. ARGUMENTS....None
  7787.  
  7788. RETURNS
  7789.   Status Word of the Keyboard Flag
  7790.  
  7791. ---------------------------------------------------------------------------
  7792.  
  7793. NAME.........KeyTime           <TcxlKey.H>
  7794.  
  7795. DESCRIPTION
  7796.      Flushes the  input buffers,  and waits  for a keyboard/mouse event.
  7797.      This function  will time  out and return after the passed number of
  7798.      timer ticks.
  7799.  
  7800. PROTOTYPE....KeyT CTYP KeyTime(IntT t);
  7801.  
  7802. ARGUMENTS
  7803.   t   -  Timer Ticks to Wait Before Timing Out, or -1 to never time out.
  7804.  
  7805. RETURNS
  7806.   KeyCode of the event, or -1 if timed out.
  7807.  
  7808. EXAMPLE
  7809.      FILE: TCXLDEMO.C.........Line: 1137, 1249, 1613, 1624, 2351
  7810.  
  7811.  
  7812.  
  7813.  
  7814.  
  7815.  
  7816. Page 122                                   TesSeRact CXL V5.5 Documentation
  7817. ---------------------------------------------------------------------------
  7818.  
  7819. NAME.........KeyWait           <TcxlKey.H>    Macro
  7820.  
  7821. DESCRIPTION
  7822.      Flushes the input buffers, and waits for a keyboard/mouse event.
  7823.  
  7824. PROTOTYPE....KeyT KeyWait(NOARG);
  7825.  
  7826.   #define KeyWait() (KeyTime(-1))
  7827.  
  7828. ARGUMENTS....None
  7829.  
  7830. RETURNS
  7831.   KeyCode of the event.
  7832.  
  7833. EXAMPLE
  7834.      FILE: HLP\HLPSHOW.C......Line: 116, 324
  7835.      FILE: WIN\WPERROR.C......Line: 50
  7836.      FILE: TCXLDEMO.C.........Line: 1131, 2227, 2348
  7837.  
  7838. ---------------------------------------------------------------------------
  7839.  
  7840.  
  7841.                               Strings System
  7842.  
  7843.  
  7844.                                  Trimming
  7845.  
  7846. ---------------------------------------------------------------------------
  7847.  
  7848. NAME..........strbtrim         <TcxlStr.H>    Macro
  7849.  
  7850. DESCRIPTION
  7851.      Trims both leading and trailing spaces off of a string.
  7852.  
  7853. PROTOTYPE....ChrP strbtrim(ChrP s);
  7854.  
  7855.   #define strbtrim(s) strtrim(strltrim(s))
  7856.  
  7857. ARGUMENTS
  7858.   s   -  String to Modify
  7859.  
  7860. RETURNS
  7861.   The address of the input string.
  7862.  
  7863. EXAMPLE
  7864.      FILE: TCXLDEMO.C.........Line: 1816
  7865.  
  7866.  
  7867.  
  7868.  
  7869.  
  7870.  
  7871.  
  7872.  
  7873.  
  7874.  
  7875. TesSeRact CXL V5.5 Documentation                                   Page 123
  7876. ---------------------------------------------------------------------------
  7877.  
  7878. NAME.........strltrim          <TcxlStr.H>
  7879.  
  7880. DESCRIPTION
  7881.      Trims the leading spaces off of a string.
  7882.  
  7883. PROTOTYPE....ChrP CTYP strltrim(ChrP s);
  7884.  
  7885. ARGUMENTS
  7886.   s   -  String to Modify
  7887.  
  7888. RETURNS
  7889.   Address of the modified string.
  7890.  
  7891. EXAMPLE
  7892.      FILE: TCXLDEMO.C.........Line: 1483, 1808
  7893.  
  7894. ---------------------------------------------------------------------------
  7895.  
  7896. NAME.........strrtrim          <TcxlStr.H>    Macro
  7897.  
  7898. DESCRIPTION
  7899.      Trims trailing spaces off of a string.
  7900.  
  7901. PROTOTYPE....ChrP strrtrim(ChrP s);
  7902.  
  7903.   #define strrtrim(s) strtrim(s)
  7904.  
  7905. ARGUMENTS
  7906.   s   -  String to Modify
  7907.  
  7908. RETURNS
  7909.   Address of the modified string
  7910.  
  7911. EXAMPLE
  7912.      FILE: TCXLDEMO.C.........Line: 1812
  7913.  
  7914. ---------------------------------------------------------------------------
  7915.  
  7916. NAME.........strtrim           <TcxlStr.H>
  7917.  
  7918. DESCRIPTION
  7919.      Trims trailing spaces off of a string.
  7920.  
  7921. PROTOTYPE....ChrP CTYP strtrim(ChrP s);
  7922.  
  7923. ARGUMENTS
  7924.   s   -  String to Modify
  7925.  
  7926. RETURNS
  7927.   Address of the modified string
  7928.  
  7929. EXAMPLE
  7930.      FILE: ENT\ENTSHOW.C......Line: 166
  7931.      FILE: TCXLDEMO.C.........Line: 1474, 1475, 1476, 1477, 1478, 1479,
  7932.                               1480, 1481, 1482, 1812
  7933.  
  7934. Page 124                                   TesSeRact CXL V5.5 Documentation
  7935. ---------------------------------------------------------------------------
  7936.  
  7937.                                  Changing
  7938.  
  7939. ---------------------------------------------------------------------------
  7940.  
  7941. NAME.........strchg            <TcxlStr.H>
  7942.  
  7943. DESCRIPTION
  7944.      Finds all  letters in  a string matching one character and replaces
  7945.      them with another.
  7946.  
  7947. PROTOTYPE....IntT CTYP strchg(ChrP s, IntT a, IntT b);
  7948.  
  7949. ARGUMENTS
  7950.   s   -  String to Search
  7951.   a   -  Character to Search For
  7952.   b   -  Character to Replace With
  7953.  
  7954. RETURNS
  7955.   The number of matches found
  7956.  
  7957. EXAMPLE
  7958.      FILE: HLP\HLPSHOW.C......Line: 90, 91, 92
  7959.      FILE: TCXLDEMO.C.........Line: 1832
  7960.  
  7961. ---------------------------------------------------------------------------
  7962.  
  7963. NAME.........strichg           <TcxlStr.H>
  7964.  
  7965. DESCRIPTION
  7966.      Finds all  letters in  a string matching one character and replaces
  7967.      them with another.  Ignores case of letters.
  7968.  
  7969. PROTOTYPE....IntT CTYP strichg(ChrP s, IntT a, IntT b);
  7970.  
  7971. ARGUMENTS
  7972.   s   -  String to Search
  7973.   a   -  Character to Search For
  7974.   b   -  Character to Replace With
  7975.  
  7976. RETURNS
  7977.   The number of matches found
  7978.  
  7979. EXAMPLE
  7980.      FILE: TCXLDEMO.C.........Line: 1836
  7981.  
  7982.  
  7983.  
  7984.  
  7985.  
  7986.  
  7987.  
  7988.  
  7989.  
  7990.  
  7991.  
  7992.  
  7993. TesSeRact CXL V5.5 Documentation                                   Page 125
  7994. ---------------------------------------------------------------------------
  7995.  
  7996. NAME.........strischg          <TcxlStr.H>
  7997.  
  7998. DESCRIPTION
  7999.      Changes all  occurrences of one string to another.  Ignores case of
  8000.      letters.
  8001.  
  8002. PROTOTYPE....ChrP CTYP strischg(ChrP s, ChrP a, ChrP b);
  8003.  
  8004. ARGUMENTS
  8005.   s   -  String to Search
  8006.   a   -  String to Search For
  8007.   b   -  String To Replace Found Strings With
  8008.  
  8009. RETURNS
  8010.   The address of the modified string, or NULL if no matches were found.
  8011.  
  8012. EXAMPLE
  8013.      FILE: STR\STRISCHG.C.....Line: 21
  8014.      FILE: TCXLDEMO.C.........Line: 1840
  8015.  
  8016. ---------------------------------------------------------------------------
  8017.  
  8018. NAME.........strschg           <TcxlStr.H>
  8019.  
  8020. DESCRIPTION
  8021.      Changes all occurrences of one string to another.
  8022.  
  8023. PROTOTYPE....ChrP CTYP strschg(ChrP s, ChrP a, ChrP b);
  8024.  
  8025. ARGUMENTS
  8026.   s   -  String to search
  8027.   a   -  String to search for
  8028.   r   -  String to replace
  8029.  
  8030. RETURNS
  8031.   The address of the modified string, or NULL if no matches were found.
  8032.  
  8033. EXAMPLE
  8034.      FILE: TCXLDEMO.C.........Line: 1844
  8035.  
  8036.  
  8037.  
  8038.  
  8039.  
  8040.  
  8041.  
  8042.  
  8043.  
  8044.  
  8045.  
  8046.  
  8047.  
  8048.  
  8049.  
  8050.  
  8051.  
  8052. Page 126                                   TesSeRact CXL V5.5 Documentation
  8053. ---------------------------------------------------------------------------
  8054.  
  8055.                                  Checksum
  8056.  
  8057. ---------------------------------------------------------------------------
  8058.  
  8059. NAME.........strchksum         <TcxlStr.H>
  8060.  
  8061. DESCRIPTION
  8062.      Returns the  checksum of  a string.   The checksum is calculated by
  8063.      adding up the ASCII values of each character in the string.
  8064.  
  8065. PROTOTYPE....DwdT CTYP strchksum(ChrP s);
  8066.  
  8067. ARGUMENTS
  8068.   s   -  String to Checksum
  8069.  
  8070. RETURNS
  8071.   The checksum of the input string
  8072.  
  8073. EXAMPLE
  8074.      FILE: TCXLDEMO.C.........Line: 1856
  8075.  
  8076. ---------------------------------------------------------------------------
  8077.  
  8078. NAME.........strichksum        <TcxlStr.H>
  8079.  
  8080. DESCRIPTION
  8081.      Returns the  checksum of  a string.   The checksum is calculated by
  8082.      adding up  the ASCII  values of  each character in the string.  All
  8083.      lowercase letters will be counted as uppercase.
  8084.  
  8085. PROTOTYPE....DwdT CTYP strichksum(ChrP s);
  8086.  
  8087. ARGUMENTS
  8088.   s   -  String to Checksum
  8089.  
  8090. RETURNS
  8091.   The checksum of the input string.
  8092.  
  8093. EXAMPLE
  8094.      FILE: TCXLDEMO.C.........Line: 1856
  8095.  
  8096.  
  8097.  
  8098.  
  8099.  
  8100.  
  8101.  
  8102.  
  8103.  
  8104.  
  8105.  
  8106.  
  8107.  
  8108.  
  8109.  
  8110.  
  8111. TesSeRact CXL V5.5 Documentation                                   Page 127
  8112. ---------------------------------------------------------------------------
  8113.  
  8114.                                Delete/Insert
  8115.  
  8116. ---------------------------------------------------------------------------
  8117.  
  8118. NAME.........strdel            <TcxlStr.H>
  8119.  
  8120. DESCRIPTION
  8121.      Deletes a substring from within a string.
  8122.  
  8123. PROTOTYPE....ChrP CTYP strdel(ChrP a, ChrP s);
  8124.  
  8125. ARGUMENTS
  8126.   a   -  Substring to Delete
  8127.   s   -  String to Delete From
  8128.  
  8129. RETURNS
  8130.   Address of the modified string, or NULL if substring not found.
  8131.  
  8132. EXAMPLE
  8133.      FILE: STR\STRDELA.C......Line: 26
  8134.      FILE: STR\STRSREP.C......Line: 25
  8135.      FILE: TCXLDEMO.C.........Line: 1868
  8136.  
  8137. ---------------------------------------------------------------------------
  8138.  
  8139. NAME.........strdela           <TcxlStr.H>
  8140.  
  8141. DESCRIPTION
  8142.      Deletes all occurrences of a substring from within a string.
  8143.  
  8144. PROTOTYPE....ChrP CTYP strdela(ChrP a, ChrP s);
  8145.  
  8146. ARGUMENTS
  8147.   a   -  Substring to Delete
  8148.   s   -  String to Delete From
  8149.  
  8150. RETURNS
  8151.   Address of the modified string, or NULL if substring not found.
  8152.  
  8153. EXAMPLE
  8154.      FILE: TCXLDEMO.C.........Line: 1872
  8155.  
  8156.  
  8157.  
  8158.  
  8159.  
  8160.  
  8161.  
  8162.  
  8163.  
  8164.  
  8165.  
  8166.  
  8167.  
  8168.  
  8169.  
  8170. Page 128                                   TesSeRact CXL V5.5 Documentation
  8171. ---------------------------------------------------------------------------
  8172.  
  8173. NAME.........stridel           <TcxlStr.H>
  8174.  
  8175. DESCRIPTION
  8176.      Deletes a substring from within a string.  Ignores case of letters.
  8177.  
  8178. PROTOTYPE....ChrP CTYP stridel(ChrP a, ChrP b);
  8179.  
  8180. ARGUMENTS
  8181.   a   -  Substring to Delete
  8182.   s   -  String to Delete From
  8183.  
  8184. RETURNS
  8185.   Address of the modified string, or NULL if substring not found.
  8186.  
  8187. EXAMPLE
  8188.      FILE: STR\STRIDELA.C.....Line: 26
  8189.      FILE: STR\STRISREP.C.....Line: 26
  8190.      FILE: TCXLDEMO.C.........Line: 1876
  8191.  
  8192. ---------------------------------------------------------------------------
  8193.  
  8194. NAME.........stridela          <TcxlStr.H>
  8195.  
  8196. DESCRIPTION
  8197.      Deletes all  occurrences of  a  substring  from  within  a  string.
  8198.      Ignores case of letters.
  8199.  
  8200. PROTOTYPE....ChrP CTYP stridela(ChrP a, ChrP b);
  8201.  
  8202. ARGUMENTS
  8203.   a   -  Substring to Delete
  8204.   s   -  String to Delete From
  8205.  
  8206. RETURNS
  8207.   Address of the modified string, or NULL if substring not found.
  8208.  
  8209. EXAMPLE
  8210.      FILE: TCXLDEMO.C.........Line: 1880
  8211.  
  8212.  
  8213.  
  8214.  
  8215.  
  8216.  
  8217.  
  8218.  
  8219.  
  8220.  
  8221.  
  8222.  
  8223.  
  8224.  
  8225.  
  8226.  
  8227.  
  8228.  
  8229. TesSeRact CXL V5.5 Documentation                                   Page 129
  8230. ---------------------------------------------------------------------------
  8231.  
  8232. NAME.........strins            <TcxlStr.H>
  8233.  
  8234. DESCRIPTION
  8235.      Inserts one string into another.  Make sure the receiving buffer is
  8236.      large enough to hold the combined new string!
  8237.  
  8238. PROTOTYPE....ChrP CTYP strins(ChrP a, ChrP s, IntT p);
  8239.  
  8240. ARGUMENTS
  8241.   a   -  String to Insert
  8242.   s   -  String to Receive Insertion
  8243.   p   -  Starting position
  8244.  
  8245. RETURNS
  8246.   The address of the modified string.
  8247.  
  8248. EXAMPLE
  8249.      FILE: STR\STRISREP.C.....Line: 28
  8250.      FILE: STR\STRSREP.C......Line: 27
  8251.      FILE: TCXLDEMO.C.........Line: 1884
  8252.  
  8253. ---------------------------------------------------------------------------
  8254.  
  8255.                                  Inclusion
  8256.  
  8257. ---------------------------------------------------------------------------
  8258.  
  8259. NAME.........strinc            <TcxlStr.H>
  8260.  
  8261. DESCRIPTION
  8262.      Determines if and where one string is included within another.
  8263.  
  8264. PROTOTYPE....ChrP CTYP strinc(ChrP a, ChrP s);
  8265.  
  8266. ARGUMENTS
  8267.   a   -  String to search for
  8268.   s   -  String to search
  8269.  
  8270. RETURNS
  8271.   A pointer to the location in 's' that contains 'a', or NULL if not
  8272.   found.
  8273.  
  8274. EXAMPLE
  8275.      FILE: STR\STRDEL.C.......Line: 24
  8276.      FILE: STR\STRDELA.C......Line: 25
  8277.      FILE: STR\STRSOCC.C......Line: 27, 31
  8278.      FILE: STR\STRSREP.C......Line: 24
  8279.      FILE: TCXLDEMO.C.........Line: 1897
  8280.  
  8281.  
  8282.  
  8283.  
  8284.  
  8285.  
  8286.  
  8287.  
  8288. Page 130                                   TesSeRact CXL V5.5 Documentation
  8289. ---------------------------------------------------------------------------
  8290.  
  8291. NAME.........striinc           <TcxlStr.H>
  8292.  
  8293. DESCRIPTION
  8294.      Determines if  and where  one string  is included  within  another.
  8295.      Ignores case of letters.
  8296.  
  8297. PROTOTYPE....ChrP CTYP striinc(ChrP a, ChrP s);
  8298.  
  8299. ARGUMENTS
  8300.   a   -  String to search for
  8301.   s   -  String to search
  8302.  
  8303. RETURNS
  8304.   A pointer to the location in 's' that contains 'a', or NULL if not
  8305.   found.
  8306.  
  8307. EXAMPLE
  8308.      FILE: STR\STRIDEL.C......Line: 24
  8309.      FILE: STR\STRIDELA.C.....Line: 25
  8310.      FILE: STR\STRISOCC.C.....Line: 28, 32
  8311.      FILE: STR\STRISREP.C.....Line: 25
  8312.      FILE: TCXLDEMO.C.........Line: 1900
  8313.  
  8314. ---------------------------------------------------------------------------
  8315.  
  8316. NAME.........strocc            <TcxlStr.H>
  8317.  
  8318. DESCRIPTION
  8319.      Counts occurrences of a character in a string.
  8320.  
  8321. PROTOTYPE....IntT CTYP strocc(ChrP s, IntT c);
  8322.  
  8323. ARGUMENTS
  8324.   s   -  String to Search
  8325.   c   -  Character to search for
  8326.  
  8327. RETURNS
  8328.   The number of occurrences of the character in the string.
  8329.  
  8330. EXAMPLE
  8331.      FILE: ENT\ENTSHOW.C......Line: 427, 432, 443, 448, 481, 483, 637,
  8332.                               639, 665, 667
  8333.      FILE: TCXLDEMO.C.........Line: 1903
  8334.  
  8335.  
  8336.  
  8337.  
  8338.  
  8339.  
  8340.  
  8341.  
  8342.  
  8343.  
  8344.  
  8345.  
  8346.  
  8347. TesSeRact CXL V5.5 Documentation                                   Page 131
  8348. ---------------------------------------------------------------------------
  8349.  
  8350. NAME.........striocc           <TcxlStr.H>
  8351.  
  8352. DESCRIPTION
  8353.      Returns the  number of  occurrences of  a character  in  a  string.
  8354.      Ignores case of letters.
  8355.  
  8356. PROTOTYPE....IntT CTYP striocc(ChrP s, IntT c);
  8357.  
  8358. ARGUMENTS
  8359.   s   -  String to Search
  8360.   c   -  Character to search for
  8361.  
  8362. RETURNS
  8363.   The number of occurrences of the character in the string.
  8364.  
  8365. EXAMPLE
  8366.      FILE: TCXLDEMO.C.........Line: 1906
  8367.  
  8368. ---------------------------------------------------------------------------
  8369.  
  8370. NAME.........strsocc           <TcxlStr.H>
  8371.  
  8372. DESCRIPTION
  8373.      Counts the occurrences of one string within another.
  8374.  
  8375. PROTOTYPE....IntT CTYP strsocc(ChrP a, ChrP s);
  8376.  
  8377. ARGUMENTS
  8378.   a   -  String to Search For
  8379.   s   -  String to Search
  8380.  
  8381. RETURNS
  8382.   The number of times that string 'a' occurs in string 's'.
  8383.  
  8384. EXAMPLE
  8385.      FILE: TCXLDEMO.C.........Line: 1909
  8386.  
  8387.  
  8388.  
  8389.  
  8390.  
  8391.  
  8392.  
  8393.  
  8394.  
  8395.  
  8396.  
  8397.  
  8398.  
  8399.  
  8400.  
  8401.  
  8402.  
  8403.  
  8404.  
  8405.  
  8406. Page 132                                   TesSeRact CXL V5.5 Documentation
  8407. ---------------------------------------------------------------------------
  8408.  
  8409. NAME.........strisocc          <TcxlStr.H>
  8410.  
  8411. DESCRIPTION
  8412.      Counts occurrences  of one  string within another.  Ignores case of
  8413.      letters.
  8414.  
  8415. PROTOTYPE....IntT CTYP strisocc(ChrP a, ChrP s);
  8416.  
  8417. ARGUMENTS
  8418.   a   -  String to search for
  8419.   s   -  String to search
  8420.  
  8421. RETURNS
  8422.   The number of times that string 'a' occurs in string 's'.
  8423.  
  8424. EXAMPLE
  8425.      FILE: TCXLDEMO.C.........Line: 1911
  8426.  
  8427. ---------------------------------------------------------------------------
  8428.  
  8429.                                 Replacement
  8430.  
  8431. ---------------------------------------------------------------------------
  8432.  
  8433. NAME.........strsrep           <TcxlStr.H>
  8434.  
  8435. DESCRIPTION
  8436.      Searches for, and replaces one string within another.
  8437.  
  8438. PROTOTYPE....ChrP CTYP strsrep(ChrP s, ChrP a, ChrP b);
  8439.  
  8440. ARGUMENTS
  8441.   s   -  String to Search
  8442.   a   -  String to Search For
  8443.   b   -  String to Replace With
  8444.  
  8445. RETURNS
  8446.   The address of the modified string, or NULL if the search string
  8447.   wasn't found.
  8448.  
  8449. EXAMPLE
  8450.      FILE: STR\STRSCHG.C......Line: 29
  8451.      FILE: TCXLDEMO.C.........Line: 1923
  8452.  
  8453.  
  8454.  
  8455.  
  8456.  
  8457.  
  8458.  
  8459.  
  8460.  
  8461.  
  8462.  
  8463.  
  8464.  
  8465. TesSeRact CXL V5.5 Documentation                                   Page 133
  8466. ---------------------------------------------------------------------------
  8467.  
  8468. NAME.........strisrep          <TcxlStr.H>
  8469.  
  8470. DESCRIPTION
  8471.      Searches for, *and replaces one string within another. Ignores case
  8472.      of letters.
  8473.  
  8474. PROTOTYPE....ChrP CTYP strisrep(ChrP s, ChrP a, ChrP b);
  8475.  
  8476. ARGUMENTS
  8477.   s   -  String to search
  8478.   a   -  String to search for
  8479.   r   -  String to replace
  8480.  
  8481. RETURNS
  8482.   The address of the modified string, or NULL if the search string
  8483.   wasn't found.
  8484.  
  8485. EXAMPLE
  8486.      FILE: STR\STRISCHG.C.....Line: 29
  8487.      FILE: TCXLDEMO.C.........Line: 1927
  8488.  
  8489. ---------------------------------------------------------------------------
  8490.  
  8491.                                 Substrings
  8492.  
  8493. ---------------------------------------------------------------------------
  8494.  
  8495. NAME.........strmid            <TcxlStr.H>
  8496.  
  8497. DESCRIPTION
  8498.      Takes a  section from  input string  starting at given position and
  8499.      taking the given amount of characters creating a new string.
  8500.  
  8501. PROTOTYPE....ChrP CTYP strmid(ChrP s, IntT p, IntT n);
  8502.  
  8503. ARGUMENTS
  8504.   s   -  Input String
  8505.   p   -  Position to start copying
  8506.   n   -  Number of characters to copy
  8507.  
  8508. RETURNS
  8509.   Address of the newly created string or a NULL if a memory allocation
  8510.   error occurred.  Be sure to free() the string when or if you are
  8511.   finished with it.
  8512.  
  8513. EXAMPLE
  8514.      FILE: TCXLDEMO.C.........Line: 1940
  8515.  
  8516.  
  8517.  
  8518.  
  8519.  
  8520.  
  8521.  
  8522.  
  8523.  
  8524. Page 134                                   TesSeRact CXL V5.5 Documentation
  8525. ---------------------------------------------------------------------------
  8526.  
  8527. NAME.........strleft           <TcxlStr.H>    Macro
  8528.  
  8529. DESCRIPTION
  8530.      Takes a  specified portion  of a string from its left and creates a
  8531.      new string.
  8532.  
  8533. PROTOTYPE....ChrP strleft(ChrP s, IntT n);
  8534.  
  8535.   #define strleft(s,n) strmid(s,0,n)
  8536.  
  8537. ARGUMENTS
  8538.   s   -  Input String
  8539.   n   -  Number of Character to Copy
  8540.  
  8541. RETURNS
  8542.   Address of the newly created string or a NULL if a memory allocation
  8543.   error occurred.  Be sure to free() this string if or when you don't
  8544.   need it anymore.
  8545.  
  8546. EXAMPLE
  8547.      FILE: TCXLDEMO.C.........Line: 1943
  8548.  
  8549. ---------------------------------------------------------------------------
  8550.  
  8551. NAME.........strright          <TcxlStr.H>    Macro
  8552.  
  8553. DESCRIPTION
  8554.      Takes a specifed portion from the right side of a string creating a
  8555.      new string.
  8556.  
  8557. PROTOTYPE....ChrP strright(ChrP s, IntT n);
  8558.  
  8559.   #define strright(s,n) strmid(s,strlen(s)-n,n)
  8560.  
  8561. ARGUMENTS
  8562.   s   -  Input String
  8563.   n   -  Number of Characters to Copy
  8564.  
  8565. RETURNS
  8566.   Address of the newly created string or a NULL if a memory allocation
  8567.   error occurred.  Be sure to free() the string when or if you are
  8568.   finished with it.
  8569.  
  8570. EXAMPLE
  8571.      FILE: TCXLDEMO.C.........Line: 1946
  8572.  
  8573.  
  8574.  
  8575.  
  8576.  
  8577.  
  8578.  
  8579.  
  8580.  
  8581.  
  8582.  
  8583. TesSeRact CXL V5.5 Documentation                                   Page 135
  8584. ---------------------------------------------------------------------------
  8585.  
  8586.                                Justification
  8587.  
  8588. ---------------------------------------------------------------------------
  8589.  
  8590. NAME.........strljust          <TcxlStr.H>
  8591.  
  8592. DESCRIPTION
  8593.      Left justifies a text string.
  8594.  
  8595. PROTOTYPE....ChrP CTYP strljust(ChrP s);
  8596.  
  8597. ARGUMENTS
  8598.   s   -  String to Justify
  8599.  
  8600. RETURNS
  8601.   Address of the modified string.
  8602.  
  8603. EXAMPLE
  8604.      FILE: ENT\ENTSHOW.C......Line: 299
  8605.      FILE: TCXLDEMO.C.........Line: 1960
  8606.  
  8607. ---------------------------------------------------------------------------
  8608.  
  8609. NAME.........strrjust          <TcxlStr.H>
  8610.  
  8611. DESCRIPTION
  8612.      Right justifies a text string.
  8613.  
  8614. PROTOTYPE....ChrP CTYP strrjust(ChrP s);
  8615.  
  8616. ARGUMENTS
  8617.   s   -  String to Justify
  8618.  
  8619. RETURNS
  8620.   Address of modified string.
  8621.  
  8622. EXAMPLE
  8623.      FILE: ENT\ENTSHOW.C......Line: 301
  8624.      FILE: HDW\CVTIC.C........Line: 32
  8625.      FILE: TCXLDEMO.C.........Line: 1964
  8626.  
  8627.  
  8628.  
  8629.  
  8630.  
  8631.  
  8632.  
  8633.  
  8634.  
  8635.  
  8636.  
  8637.  
  8638.  
  8639.  
  8640.  
  8641.  
  8642. Page 136                                   TesSeRact CXL V5.5 Documentation
  8643. ---------------------------------------------------------------------------
  8644.  
  8645. NAME.........strrol            <TcxlStr.H>
  8646.  
  8647. DESCRIPTION
  8648.      Rotates a  string specified number of characters left.  The rotated
  8649.      characters wrap around to the right side of the string.
  8650.  
  8651. PROTOTYPE....ChrP CTYP strrol(ChrP s, IntT n);
  8652.  
  8653. ARGUMENTS
  8654.   s   -  String to Rotate
  8655.   n   -  Count to Rotate
  8656.  
  8657. RETURNS
  8658.   Address of the modified string
  8659.  
  8660. EXAMPLE
  8661.      FILE: TCXLDEMO.C.........Line: 1968
  8662.  
  8663. ---------------------------------------------------------------------------
  8664.  
  8665. NAME.........strror            <TcxlStr.H>
  8666.  
  8667. DESCRIPTION
  8668.      Rotates a string specified number of characters right.  The rotated
  8669.      characters wrap around to the left side of the string.
  8670.  
  8671. PROTOTYPE....ChrP CTYP strror(ChrP s, IntT n);
  8672.  
  8673. ARGUMENTS
  8674.   s   -  String to Rotate
  8675.   n   -  Count to Rotate
  8676.  
  8677. RETURNS
  8678.   Address of the modified string
  8679.  
  8680. EXAMPLE
  8681.      FILE: TCXLDEMO.C.........Line: 1972
  8682.  
  8683.  
  8684.  
  8685.  
  8686.  
  8687.  
  8688.  
  8689.  
  8690.  
  8691.  
  8692.  
  8693.  
  8694.  
  8695.  
  8696.  
  8697.  
  8698.  
  8699.  
  8700.  
  8701. TesSeRact CXL V5.5 Documentation                                   Page 137
  8702. ---------------------------------------------------------------------------
  8703.  
  8704. NAME.........strshl            <TcxlStr.H>
  8705.  
  8706. DESCRIPTION
  8707.      Shifts a  string a specified number of characters left.  Characters
  8708.      that shift  past the  beginning of the string "drop off" and spaces
  8709.      are added to the right of the string.
  8710.  
  8711. PROTOTYPE....ChrP CTYP strshl(ChrP s, IntT n);
  8712.  
  8713. ARGUMENTS
  8714.   s   -  String to Shift
  8715.   n   -  Character Count to Shift
  8716.  
  8717. RETURNS
  8718.   Address of the Modified String
  8719.  
  8720. EXAMPLE
  8721.      FILE: ENT\ENTSHOW.C......Line: 400, 453
  8722.      FILE: TCXLDEMO.C.........Line: 1976
  8723.  
  8724. ---------------------------------------------------------------------------
  8725.  
  8726. NAME.........strshr            <TcxlStr.H>
  8727.  
  8728. DESCRIPTION
  8729.      Shifts a string a specified number of characters right.  Characters
  8730.      that shift  past the  end of  the string  "drop off" and spaces are
  8731.      added to the left of the string.
  8732.  
  8733. PROTOTYPE....ChrP CTYP strshr(ChrP s, IntT n);
  8734.  
  8735. ARGUMENTS
  8736.   s   -  String to Shift
  8737.   n   -  Character Count to Shift
  8738.  
  8739. RETURNS
  8740.   Address of the Modified String
  8741.  
  8742. EXAMPLE
  8743.      FILE: ENT\ENTSHOW.C......Line: 500
  8744.      FILE: TCXLDEMO.C.........Line: 1980
  8745.  
  8746.  
  8747.  
  8748.  
  8749.  
  8750.  
  8751.  
  8752.  
  8753.  
  8754.  
  8755.  
  8756.  
  8757.  
  8758.  
  8759.  
  8760. Page 138                                   TesSeRact CXL V5.5 Documentation
  8761. ---------------------------------------------------------------------------
  8762.  
  8763.                                  Matching
  8764.  
  8765. ---------------------------------------------------------------------------
  8766.  
  8767. NAME.........strbmatch         <TcxlStr.H>
  8768.  
  8769. DESCRIPTION
  8770.      Returns the best match of a string in an array of strings.
  8771.  
  8772. PROTOTYPE....ChrP CTYP strbmatch(ChrP s, ChrP a[]);
  8773.  
  8774. ARGUMENTS
  8775.   s   -  String to Match
  8776.   a   -  Array of pointers.  The last pointer in the array must be NULL.
  8777.  
  8778. RETURNS
  8779.   Address of the string in the array that best matched the given string.
  8780.  
  8781. EXAMPLE
  8782.      FILE: TCXLDEMO.C.........Line: 345
  8783.      FILE: TCXLDEMO.C.........Line: 1796
  8784.  
  8785. ---------------------------------------------------------------------------
  8786.  
  8787. NAME.........strmatch          <TcxlStr.H>
  8788.  
  8789. DESCRIPTION
  8790.      Compares 2 strings and returns a match score.
  8791.  
  8792. PROTOTYPE....IntT CTYP strmatch(ChrP a, ChrP b);
  8793.  
  8794. ARGUMENTS
  8795.   a   -  First String
  8796.   b   -  Second String
  8797.  
  8798. RETURNS
  8799.   A match score.  The higher the score, the better they match.  The
  8800.   maximum possible score is strlen(a) + strlen(b).
  8801.  
  8802. EXAMPLE
  8803.      FILE: STR\STRBMATC.C.....Line: 26
  8804.      FILE: STR\STRBMATC.C.....Line: 28
  8805.      FILE: TCXLDEMO.C.........Line: 1792
  8806.  
  8807.  
  8808.  
  8809.  
  8810.  
  8811.  
  8812.  
  8813.  
  8814.  
  8815.  
  8816.  
  8817.  
  8818.  
  8819. TesSeRact CXL V5.5 Documentation                                   Page 139
  8820. ---------------------------------------------------------------------------
  8821.  
  8822.                                Miscellaneous
  8823.  
  8824. ---------------------------------------------------------------------------
  8825.  
  8826. NAME.........strblank          <TcxlStr.H>
  8827.  
  8828. DESCRIPTION
  8829.      Determines if a given string is blank (whitespace).
  8830.  
  8831. PROTOTYPE....IntT CTYP strblank(ChrP s);
  8832.  
  8833. ARGUMENTS
  8834.   s   -  String to Check
  8835.  
  8836. RETURNS
  8837.   TRUE if string is blank, FALSE otherwise
  8838.  
  8839. EXAMPLE
  8840.      FILE: ENT\ENTSHOW.C......Line: 387, 516, 530, 798
  8841.      FILE: TCXLDEMO.C.........Line: 1348, 1647, 1995, 1996
  8842.  
  8843. ---------------------------------------------------------------------------
  8844.  
  8845. NAME.........strcode           <TcxlStr.H>
  8846.  
  8847. DESCRIPTION
  8848.      Encodes/decodes a  string.   Call this function to encode a string,
  8849.      then call  again using  the same key to decode it.  When reading or
  8850.      writing from a disk file, be sure to open the file in binary mode.
  8851.  
  8852. PROTOTYPE....ChrP CTYP strcode(ChrP s, ChrP k);
  8853.  
  8854. ARGUMENTS
  8855.   s   -  String to encode
  8856.   k   -  Key String
  8857.  
  8858. RETURNS
  8859.   The address of the input string
  8860.  
  8861. EXAMPLE
  8862.      FILE: TCXLDEMO.C.........Line: 1999, 2001
  8863.  
  8864.  
  8865.  
  8866.  
  8867.  
  8868.  
  8869.  
  8870.  
  8871.  
  8872.  
  8873.  
  8874.  
  8875.  
  8876.  
  8877.  
  8878. Page 140                                   TesSeRact CXL V5.5 Documentation
  8879. ---------------------------------------------------------------------------
  8880.  
  8881. NAME.........strsetsz          <TcxlStr.H>
  8882.  
  8883. DESCRIPTION
  8884.      Adjusts the  length of  a string,  either by  truncation or padding
  8885.      with spaces.   Make  sure the  string is  large enough  to hold the
  8886.      entire buffer if it is expanded!
  8887.  
  8888. PROTOTYPE....ChrP CTYP strsetsz(ChrP s, IntT n);
  8889.  
  8890. ARGUMENTS
  8891.   s   -  Input String
  8892.   n   -  New Length
  8893.  
  8894. RETURNS
  8895.   Address of the modified string.
  8896.  
  8897. SEE ALSO
  8898.   strtrim (Page 124)
  8899.  
  8900. EXAMPLE
  8901.      FILE: MNU\ITMSET.C.......Line: 31
  8902.      FILE: ENT\ENTFLD.C.......Line: 85
  8903.      FILE: TCXLDEMO.C.........Line: 2006, 2008
  8904.  
  8905. ---------------------------------------------------------------------------
  8906.  
  8907. NAME.........struplow          <TcxlStr.H>
  8908.  
  8909. DESCRIPTION
  8910.      Converts a string to mixed upper & lowercase characters. Characters
  8911.      are forced  to upper  or  lowercase  depending  upon  the  previous
  8912.      character in the string.
  8913.  
  8914. PROTOTYPE....ChrP CTYP struplow(ChrP s);
  8915.  
  8916. ARGUMENTS
  8917.   s   -  String to Convert
  8918.  
  8919. RETURNS
  8920.   Address of the modified string
  8921.  
  8922. SEE ALSO
  8923.   touplow (Page 191)
  8924.  
  8925. EXAMPLE
  8926.      FILE: TCXLDEMO.C.........Line: 1474, 1475, 1476, 1477, 1478, 1479,
  8927.                               1480, 1481, 1482, 1812
  8928.  
  8929.  
  8930.  
  8931.  
  8932.  
  8933.  
  8934.  
  8935.  
  8936.  
  8937. TesSeRact CXL V5.5 Documentation                                   Page 141
  8938. ---------------------------------------------------------------------------
  8939.  
  8940.  
  8941.                          Hardware Level Functions
  8942.  
  8943.  
  8944.                            Information Subsystem
  8945.  
  8946.  
  8947.                             Library Information
  8948.  
  8949. ---------------------------------------------------------------------------
  8950.  
  8951. NAME.........TcxlInit          <TcxlDef.H>
  8952.  
  8953. DESCRIPTION
  8954.      This is  the initialization  function for the TCXL library.  Within
  8955.      this function, the low-level video, keyboard and mouse routines are
  8956.      initialized.   In future  versions, all add-in modules will also be
  8957.      initialized here, as well as user-defined functions.  This function
  8958.      also sets  the TcxlTerm() function as a termination function, using
  8959.      the compiler's atexit() procedure.
  8960.  
  8961. PROTOTYPE....VOID CTYP TcxlInit(NOARG);
  8962.  
  8963. ARGUMENTS....None
  8964.  
  8965. RETURNS......None
  8966.  
  8967. SEE ALSO
  8968.   TcxlTerm (Page 142)
  8969.  
  8970. ---------------------------------------------------------------------------
  8971.  
  8972. NAME.........TcxlTerm          <TcxlDef.H>
  8973.  
  8974. DESCRIPTION
  8975.      TcxlTerm() is currently a NULL function; in addition, a user should
  8976.      NEVER  CALL   IT  UNDER   ANY  CIRCUMSTANCES.    This  function  is
  8977.      automatically installed  as an  atexit() routine,  and is  provided
  8978.      with this release to maintain upward compatibility.
  8979.  
  8980. PROTOTYPE....VOID CDC TcxlTerm(NOARG);
  8981.  
  8982. ARGUMENTS....None
  8983.  
  8984. RETURNS......None
  8985.  
  8986. SEE ALSO
  8987.   TcxlInit (Page 142)
  8988.  
  8989.  
  8990.  
  8991.  
  8992.  
  8993.  
  8994.  
  8995.  
  8996. Page 142                                   TesSeRact CXL V5.5 Documentation
  8997. ---------------------------------------------------------------------------
  8998.  
  8999. NAME.........TcxlVer           <TcxlDef.H>
  9000.  
  9001. DESCRIPTION
  9002.      This function returns a unsigned integer that describes the version
  9003.      number of the TCXL library.
  9004.  
  9005. PROTOTYPE....WrdT TcxlVer(NOARG);
  9006.  
  9007. ARGUMENTS....None
  9008.  
  9009. RETURNS
  9010.   An unsigned integer, with the high byte equal to the major version of
  9011.   TCXL, and the low byte equal to the minor version.
  9012.  
  9013. EXAMPLE
  9014.   printf("This is Version %d.%d of TCXL\n",
  9015.             TcxlVer() >> 8, TcxlVer & 0x00ff);
  9016.  
  9017. ---------------------------------------------------------------------------
  9018.  
  9019.                            Hardware Information
  9020.  
  9021.  
  9022. Please note  that the functions gameport(), mathchip(), numflop(), numpar()
  9023. and numser() are no longer used in TCXL.  They have been replaced by macros
  9024. accessing the _HdwCtl structure (See User's Guide). The old names have been
  9025. aliased to  the new macros; however, we recommend you change your source to
  9026. conform with the new naming conventions.
  9027.  
  9028. ---------------------------------------------------------------------------
  9029.  
  9030. NAME........._BioEqp           <TcxlHdw.h>
  9031.  
  9032. DESCRIPTION
  9033.      Initializes the  global _HdwCtl  object with  BIOS  equipment  flag
  9034.      data.  Automatically called during TcxlInit() (Page 142).
  9035.  
  9036. PROTOTYPE....VOID PAS _BioEqp(NOARG);
  9037.  
  9038. ARGUMENTS....None
  9039.  
  9040. RETURNS......None
  9041.  
  9042. SEE ALSO
  9043.   The various Hdw...() macros
  9044.  
  9045.  
  9046.  
  9047.  
  9048.  
  9049.  
  9050.  
  9051.  
  9052.  
  9053.  
  9054.  
  9055. TesSeRact CXL V5.5 Documentation                                   Page 143
  9056. ---------------------------------------------------------------------------
  9057.  
  9058. NAME.........BiosVer           <TcxlHdw.h>
  9059.  
  9060. DESCRIPTION
  9061.      Returns the ROM BIOS version date.  May not work on some compatible
  9062.      machines.
  9063.  
  9064. PROTOTYPE....ChrP CTYP BiosVer(NOARG);
  9065.  
  9066. ARGUMENTS....None
  9067.  
  9068. RETURNS
  9069.   The address of the static string containing the ROM BIOS version date.
  9070.  
  9071. SEE ALSO
  9072.   machid (Page 145)
  9073.  
  9074. ---------------------------------------------------------------------------
  9075.  
  9076. NAME.........ClockCal          <TcxlHdw.h>
  9077.  
  9078. DESCRIPTION
  9079.      Determines if  a clock-calendar  board is  installed.  This usually
  9080.      will only work with the clock-calendar boards in XT-style machines.
  9081.  
  9082. PROTOTYPE....IntT CTYP ClockCal(NOARG);
  9083.  
  9084. ARGUMENTS....None
  9085.  
  9086. RETURNS
  9087.   Nonzero if a clock-calendar board is present.
  9088.  
  9089.  
  9090.  
  9091.  
  9092.  
  9093.  
  9094.  
  9095.  
  9096.  
  9097.  
  9098.  
  9099.  
  9100.  
  9101.  
  9102.  
  9103.  
  9104.  
  9105.  
  9106.  
  9107.  
  9108.  
  9109.  
  9110.  
  9111.  
  9112.  
  9113.  
  9114. Page 144                                   TesSeRact CXL V5.5 Documentation
  9115. ---------------------------------------------------------------------------
  9116.  
  9117. NAME.........MachId            <TcxlHdw.h>
  9118.  
  9119. DESCRIPTION
  9120.      Returns the value of the machine ROM ID byte.
  9121.  
  9122. PROTOTYPE....IntT CTYP MachId(NOARG)
  9123.  
  9124. ARGUMENTS....None
  9125.  
  9126. RETURNS
  9127.   The value of the machine ROM ID byte.  Will usually be one of
  9128.   thefollowing values.  Any other value is unknown.
  9129.  
  9130.   IBMPC    -  IBM PC
  9131.   IBMPCXT  -  IBM PC/XT
  9132.   IBMPCJR  -  IBM PCjr
  9133.   IBMPCAT  -  IBM PC/AT
  9134.   IBMPCXT2 -  IBM PC/XT-2
  9135.   IBMPS30  -  IBM PS/2 Model 30
  9136.   IBMCONV  -  IBM PC Convertible
  9137.   IBMPS80  -  IBM PS/2 Model 80
  9138.   SPERRYPC -  Sperry PC
  9139.   CPQPORT  -  Compaq Portable
  9140.   CPQPLUS  -  Compaq Portable Plus
  9141.   HP110    -  HP 110 Portable
  9142.  
  9143. SEE ALSO
  9144.   biosver (Page 144)
  9145.  
  9146. ---------------------------------------------------------------------------
  9147.  
  9148. NAME.........HdwFlg            <TcxlHdw.h>    Macro
  9149.  
  9150. DESCRIPTION
  9151.      Returns the full flag word of the BIOS hardware settings.
  9152.  
  9153. PROTOTYPE....IntT HdwFlg(NOARG)
  9154.  
  9155. ARGUMENTS....None
  9156.  
  9157. RETURNS
  9158.   The Full Flag Word Of The BIOS Hardware Settings
  9159.  
  9160.  
  9161.  
  9162.  
  9163.  
  9164.  
  9165.  
  9166.  
  9167.  
  9168.  
  9169.  
  9170.  
  9171.  
  9172.  
  9173. TesSeRact CXL V5.5 Documentation                                   Page 145
  9174. ---------------------------------------------------------------------------
  9175.  
  9176. NAME.........HdwGam            <TcxlHdw.h>    Macro
  9177. .............gameport
  9178.  
  9179. DESCRIPTION
  9180.      Determines if a game port is installed.
  9181.  
  9182. PROTOTYPE....IntT HdwGam(NOARG)
  9183.  
  9184.   #define HdwGam() (0 != (HdwFlg() & 0x01))
  9185.   #define gameport() HdwGam()
  9186.  
  9187. ARGUMENTS....None
  9188.  
  9189. RETURNS
  9190.   TRUE if game port is installed
  9191.   FALSE otherwise
  9192.  
  9193. ---------------------------------------------------------------------------
  9194.  
  9195. NAME.........HdwNdp            <TcxlHdw.h>    Macro
  9196. .............mathchip
  9197.  
  9198. DESCRIPTION
  9199.      Determines if a math coprocesser is installed.
  9200.  
  9201. PROTOTYPE....IntT HdwNdp(NOARG)
  9202.  
  9203.   #define HdwNdp() (0 != (HdwFlg() & 0x02))
  9204.   #define mathchip() HdwNdp()
  9205.  
  9206. ARGUMENTS....None
  9207.  
  9208. RETURNS
  9209.   TRUE if math chip is installed
  9210.   FALSE otherwise
  9211.  
  9212. ---------------------------------------------------------------------------
  9213.  
  9214. NAME.........HdwMou            <TcxlHdw.h>    Macro
  9215.  
  9216. DESCRIPTION
  9217.      Determines if the PS/2 (Microchannel) BUS mouse is installed.
  9218.  
  9219. PROTOTYPE....IntT HdwMou(NOARG)
  9220.  
  9221.   #define HdwMou() (0 != (HdwFlg() & 0x04))
  9222.  
  9223. ARGUMENTS....None
  9224.  
  9225. RETURNS
  9226.   TRUE if Mouse installed
  9227.   FALSE otherwise
  9228.  
  9229.  
  9230.  
  9231.  
  9232. Page 146                                   TesSeRact CXL V5.5 Documentation
  9233. ---------------------------------------------------------------------------
  9234.  
  9235. NAME.........HdwMdm            <TcxlHdw.h>    Macro
  9236.  
  9237. DESCRIPTION
  9238.      Determines if the PS/2 (Microchannel) modem is installed.
  9239.  
  9240. PROTOTYPE....IntT HdwMdm(NOARG)
  9241.  
  9242.   #define HdwMdm() (0 != (HdwFlg() & 0x08))
  9243.  
  9244. ARGUMENTS....None
  9245.  
  9246. RETURNS
  9247.   TRUE if mdoem installed
  9248.   FALSE otherwise
  9249.  
  9250. ---------------------------------------------------------------------------
  9251.  
  9252. NAME.........HdwC40            <TcxlHdw.h>    Macro
  9253.  
  9254. DESCRIPTION
  9255.      Determines if  the initial  video mode  when the machine booted was
  9256.      Color, 40 columns by 25 rows.
  9257.  
  9258. PROTOTYPE....IntT HdwC40(NOARG)
  9259.  
  9260.   #define HdwC40() (0 != (HdwFlg() & 0x10))
  9261.  
  9262. ARGUMENTS....None
  9263.  
  9264. RETURNS
  9265.   TRUE if machine booted in 40x25 color
  9266.   FALSE otherwise
  9267.  
  9268. ---------------------------------------------------------------------------
  9269.  
  9270. NAME.........HdwC80            <TcxlHdw.h>    Macro
  9271.  
  9272. DESCRIPTION
  9273.      Determines if  the initial  video mode  when the machine booted was
  9274.      Color, 80 columns by 25 rows.
  9275.  
  9276. PROTOTYPE....IntT HdwC80(NOARG)
  9277.  
  9278.   #define HdwC80() (0 != (HdwFlg() & 0x20))
  9279.  
  9280. ARGUMENTS....None
  9281.  
  9282. RETURNS
  9283.   TRUE if machine booted in 80x25 color
  9284.   FALSE otherwise
  9285.  
  9286.  
  9287.  
  9288.  
  9289.  
  9290.  
  9291. TesSeRact CXL V5.5 Documentation                                   Page 147
  9292. ---------------------------------------------------------------------------
  9293.  
  9294. NAME.........HdwM80            <TcxlHdw.h>    Macro
  9295.  
  9296. DESCRIPTION
  9297.      Determines if  the initial  video mode  when the machine booted was
  9298.      Monochrome, 80 columns by 25 rows.
  9299.  
  9300. PROTOTYPE....IntT HdwM80(NOARG)
  9301.  
  9302.   #define HdwM80() (0 != (HdwFlg() & 0x40))
  9303.  
  9304. ARGUMENTS....None
  9305.  
  9306. RETURNS
  9307.   TRUE if machine booted in 80x25 monochrome
  9308.   FALSE otherwise
  9309.  
  9310. ---------------------------------------------------------------------------
  9311.  
  9312. NAME.........HdwDrv            <TcxlHdw.h>    Macro
  9313. .............numflop
  9314.  
  9315. DESCRIPTION
  9316.      Returns the number of floppy disk drives installed.
  9317.  
  9318. PROTOTYPE....IntT HdwDrv(NOARG)
  9319.  
  9320.   #define HdwDrv() (_HdwCtl.hdrv)
  9321.   #define numflop() HdwDrv()
  9322.  
  9323. ARGUMENTS....None
  9324.  
  9325. RETURNS
  9326.   The number of floppy disk drives installed.
  9327.  
  9328. ---------------------------------------------------------------------------
  9329.  
  9330. NAME.........HdwPar            <TcxlHdw.h>    Macro
  9331. .............numpar
  9332.  
  9333. DESCRIPTION
  9334.      Returns the number of parallel ports.
  9335.  
  9336. PROTOTYPE....IntT HdwPar(NOARG)
  9337.  
  9338.   #define HdwPar() (_HdwCtl.hser)
  9339.   #define numpar() HdwPar()
  9340.  
  9341. ARGUMENTS....None
  9342.  
  9343. RETURNS
  9344.   The number of parallel ports installed.
  9345.  
  9346.  
  9347.  
  9348.  
  9349.  
  9350. Page 148                                   TesSeRact CXL V5.5 Documentation
  9351. ---------------------------------------------------------------------------
  9352.  
  9353. NAME.........HdwSer            <TcxlHdw.h>    Macro
  9354. .............numser
  9355.  
  9356. DESCRIPTION
  9357.      Returns the number of serial ports installed.
  9358.  
  9359. PROTOTYPE....IntT HdwSer(NOARG)
  9360.  
  9361.   #define HdwSer() (_HdwCtl.hser)
  9362.   #define numser() HdwSer()
  9363.  
  9364. ARGUMENTS....None
  9365.  
  9366. RETURNS
  9367.   The number of serial ports installed.
  9368.  
  9369. ---------------------------------------------------------------------------
  9370.  
  9371.                              Utility Routines
  9372.  
  9373. ---------------------------------------------------------------------------
  9374.  
  9375. NAME.........Beep              <TcxlDef.H>    Macro
  9376.  
  9377. DESCRIPTION
  9378.      Sounds a beep in the speaker.
  9379.  
  9380. PROTOTYPE....VOID Beep(NOARG);
  9381.  
  9382.   #define Beep() _StdOut(BEL)
  9383.  
  9384. ARGUMENTS....None
  9385.  
  9386. RETURNS......None
  9387.  
  9388. SEE ALSO
  9389.   _StdOut (Page 152)
  9390.  
  9391. ---------------------------------------------------------------------------
  9392.  
  9393. NAME.........RandFile          <TcxlDef.H>
  9394.  
  9395. DESCRIPTION
  9396.      Creates a random file name.
  9397.  
  9398. PROTOTYPE....ChrP CTYP RandFile(NOARG);
  9399.  
  9400. ARGUMENTS....None
  9401.  
  9402. RETURNS
  9403.   Address of the static string containing the random file name.
  9404.  
  9405.  
  9406.  
  9407.  
  9408.  
  9409. TesSeRact CXL V5.5 Documentation                                   Page 149
  9410. ---------------------------------------------------------------------------
  9411.  
  9412. NAME.........Sound             <TcxlDef.H>
  9413.  
  9414. DESCRIPTION
  9415.      Sounds a tone of specified pitch and duration.
  9416.  
  9417. PROTOTYPE....VOID CTYP Sound(WrdT pv, WrdT dt);
  9418.  
  9419. ARGUMENTS
  9420.   pv  -  Pitch (0-65535)
  9421.   dt  -  Duration (in timer ticks; 182=10 seconds)
  9422.  
  9423. RETURNS......None
  9424.  
  9425. ---------------------------------------------------------------------------
  9426.  
  9427. NAME.........SysDate           <TcxlDef.H>
  9428.  
  9429. DESCRIPTION
  9430.      Returns a string containing the current system date.
  9431.  
  9432. PROTOTYPE....ChrP CTYP SysDate(IntT d);
  9433.  
  9434. ARGUMENTS
  9435.   d   -  Date Time Code.  One of the following:
  9436.  
  9437.   Code     Example
  9438.   ----     -------
  9439.    0       December 3, 1988
  9440.    1       3 Dec 88
  9441.    2       12-3-88
  9442.    3       12/3/88
  9443.    4       3/12/88
  9444.    5       12/03/88
  9445.  
  9446. RETURNS
  9447.   Address of the static string containing the system date.
  9448.  
  9449. SEE ALSO
  9450.   SysTime (Page 151)
  9451.  
  9452.  
  9453.  
  9454.  
  9455.  
  9456.  
  9457.  
  9458.  
  9459.  
  9460.  
  9461.  
  9462.  
  9463.  
  9464.  
  9465.  
  9466.  
  9467.  
  9468. Page 150                                   TesSeRact CXL V5.5 Documentation
  9469. ---------------------------------------------------------------------------
  9470.  
  9471. NAME.........SysTime           <TcxlDef.H>
  9472.  
  9473. DESCRIPTION
  9474.      Returns a string containing the current system time.
  9475.  
  9476. PROTOTYPE....ChrP CTYP SysTime(IntT t);
  9477.  
  9478. ARGUMENTS
  9479.   t   -  Time Type Code.  Can be one of the following:
  9480.  
  9481.   Code     Example
  9482.   ----     -------
  9483.    0       16:30:57.89
  9484.    1       16:30:57
  9485.    2       4:30 PM
  9486.    3       4:30p
  9487.    4       4:30
  9488.    5       04:30
  9489.  
  9490. RETURNS
  9491.   Address of the static string containing the system date.
  9492.  
  9493. SEE ALSO
  9494.   SysDate (Page 150)
  9495.  
  9496. ---------------------------------------------------------------------------
  9497.  
  9498. NAME.........TabNxt            <TcxlDef.H>
  9499.  
  9500. DESCRIPTION
  9501.      Calculates the next tab stop from given column and tab width.
  9502.  
  9503. PROTOTYPE....IntT PAS TabNxt(IntT c, IntT w);
  9504.  
  9505. ARGUMENTS
  9506.   c   -  Column
  9507.   w   -  Tab Width
  9508.  
  9509. RETURNS
  9510.   The column of the next tab stop
  9511.  
  9512.  
  9513.  
  9514.  
  9515.  
  9516.  
  9517.  
  9518.  
  9519.  
  9520.  
  9521.  
  9522.  
  9523.  
  9524.  
  9525.  
  9526.  
  9527. TesSeRact CXL V5.5 Documentation                                   Page 151
  9528. ---------------------------------------------------------------------------
  9529.  
  9530. NAME........._Delay            <TcxlDef.H>
  9531.  
  9532. DESCRIPTION
  9533.      Delays program execution for a specified duration.
  9534.  
  9535. PROTOTYPE....VOID PAS _Delay(WrdT d);
  9536.  
  9537. ARGUMENTS
  9538.   d   -  Duration (In Timer Ticks; 182 = 10 seconds)
  9539.  
  9540. RETURNS......None
  9541.  
  9542. SEE ALSO
  9543.   _Timer (Page 153)
  9544.   KeyTime (Page 122)
  9545.   _WaitMs (Page 153)
  9546.  
  9547. ---------------------------------------------------------------------------
  9548.  
  9549. NAME........._StdOut           <TcxlDef.H>
  9550.  
  9551. DESCRIPTION
  9552.      Outputs a character to the DOS Standard Output Device.
  9553.  
  9554. PROTOTYPE....VOID PAS _StdOut(ArgT ch);
  9555.  
  9556. ARGUMENTS
  9557.   ch  -  Character to Output
  9558.  
  9559. RETURNS......None
  9560.  
  9561. SEE ALSO
  9562.   _StdOutS (Page 152)
  9563.   Beep (Page 149)
  9564.  
  9565. ---------------------------------------------------------------------------
  9566.  
  9567. NAME........._StdOutS          <TcxlDef.H>
  9568.  
  9569. DESCRIPTION
  9570.      Outputs a string through the DOS Standard Output Device.
  9571.  
  9572. PROTOTYPE....VOID PAS _StdOutS(ChrP s);
  9573.  
  9574. ARGUMENTS
  9575.   s   -  String to output.
  9576.  
  9577. RETURNS......None
  9578.  
  9579. SEE ALSO
  9580.   _StdOut (Page 152)
  9581.  
  9582.  
  9583.  
  9584.  
  9585.  
  9586. Page 152                                   TesSeRact CXL V5.5 Documentation
  9587. ---------------------------------------------------------------------------
  9588.  
  9589. NAME........._Timer            <TcxlDef.H>
  9590.  
  9591. DESCRIPTION
  9592.      Returns the  value of the BIOS timer.  This value is incremented by
  9593.      one every 18.2 seconds.
  9594.  
  9595. PROTOTYPE....DwdT PAS _Timer(NOARG);
  9596.  
  9597. ARGUMENTS....None
  9598.  
  9599. RETURNS
  9600.   Current value of the BIOS timer.
  9601.  
  9602. SEE ALSO
  9603.   _Delay (Page 152)
  9604.   _WaitMs (Page 153)
  9605.  
  9606. ---------------------------------------------------------------------------
  9607.  
  9608. NAME........._WaitMs           <TcxlDef.H>
  9609.  
  9610. DESCRIPTION
  9611.      This is  a millisecond-resolution  delay function.   Waits  for the
  9612.      specified number of milliseconds before returning control.
  9613.  
  9614. PROTOTYPE....VOID PAS _WaitMs(IntT ms)
  9615.  
  9616. ARGUMENTS
  9617.   ms  -  Number of milliseconds to wait
  9618.  
  9619. RETURNS......None
  9620.  
  9621. SEE ALSO
  9622.   _Delay (Page 152)
  9623.   _Timer (Page 153)
  9624.  
  9625.  
  9626.  
  9627.  
  9628.  
  9629.  
  9630.  
  9631.  
  9632.  
  9633.  
  9634.  
  9635.  
  9636.  
  9637.  
  9638.  
  9639.  
  9640.  
  9641.  
  9642.  
  9643.  
  9644.  
  9645. TesSeRact CXL V5.5 Documentation                                   Page 153
  9646. ---------------------------------------------------------------------------
  9647.  
  9648.                              Memory Subsystem
  9649.  
  9650. ---------------------------------------------------------------------------
  9651.  
  9652. NAME.........MemInit           <TcxlMem.H>
  9653.  
  9654. DESCRIPTION
  9655.      This routine  initializes the  Memory  Subsystem.    It  is  called
  9656.      automatically from inside TcxlInit().
  9657.  
  9658. PROTOTYPE....VOID PAS MemInit(NOARG);
  9659.  
  9660. ARGUMENTS....None
  9661.  
  9662. RETURNS......None
  9663.  
  9664. ---------------------------------------------------------------------------
  9665.  
  9666. NAME.........MemTerm           <TcxlMem.H>    Macro
  9667.  
  9668. DESCRIPTION
  9669.      This routine  currently does  nothing.   It is  provided for future
  9670.      compatibility.
  9671.  
  9672. PROTOTYPE....VOID MemTerm(NOARG);
  9673.  
  9674.   #define MemTerm()
  9675.  
  9676. ARGUMENTS....None
  9677.  
  9678. RETURNS......None
  9679.  
  9680. ---------------------------------------------------------------------------
  9681.  
  9682.                          Expanded Memory Routines
  9683.  
  9684. ---------------------------------------------------------------------------
  9685.  
  9686. NAME.........EMSalloc          <TcxlMem.H>
  9687.  
  9688. DESCRIPTION
  9689.      This function allocates Expanded Memory pages.
  9690.  
  9691. PROTOTYPE...._HdlT PAS EMSalloc(IntT np);
  9692.  
  9693. ARGUMENTS
  9694.   np  -  Number of 16K Pages to allocate
  9695.  
  9696. RETURNS
  9697.   The EMS handle associate with this block of pages.
  9698.   On error, returns FALSE and sets MemEerr to the error code.
  9699.  
  9700.  
  9701.  
  9702.  
  9703.  
  9704. Page 154                                   TesSeRact CXL V5.5 Documentation
  9705. ---------------------------------------------------------------------------
  9706.  
  9707. NAME.........EMSfree           <TcxlMem.H>
  9708.  
  9709. DESCRIPTION
  9710.      Frees a block of EMS pages.
  9711.  
  9712. PROTOTYPE....IntT PAS EMSfree(_HdlT eh);
  9713.  
  9714. ARGUMENTS
  9715.   eh  -  EMS Handle
  9716.  
  9717. RETURNS
  9718.   TRUE on success, FALSE on failure, and sets MemEerr.
  9719.  
  9720. ---------------------------------------------------------------------------
  9721.  
  9722. NAME.........EMSgetnam         <TcxlMem.H>
  9723.  
  9724. DESCRIPTION
  9725.      Returns the  "name" of  the EMS  block associated  with the  passed
  9726.      handle.
  9727.  
  9728. PROTOTYPE....ChrFP PAS EMSgetnam(_HdlT eh, ChrFP np);
  9729.  
  9730. ARGUMENTS
  9731.   eh  -  EMS Handle
  9732.   np  -  Pointer to 9-byte buffer area
  9733.  
  9734. RETURNS
  9735.   Pointer to Buffer
  9736.  
  9737. ---------------------------------------------------------------------------
  9738.  
  9739. NAME.........EMScount          <TcxlMem.H>
  9740.  
  9741. DESCRIPTION
  9742.      Gets the number of EMS handles previously allocated.
  9743.  
  9744. PROTOTYPE....IntT PAS EMScount(NOARG);
  9745.  
  9746. ARGUMENTS....None
  9747.  
  9748. RETURNS
  9749.   Handle Count on success, FALSE on failure, and sets MemEerr.
  9750.  
  9751.  
  9752.  
  9753.  
  9754.  
  9755.  
  9756.  
  9757.  
  9758.  
  9759.  
  9760.  
  9761.  
  9762.  
  9763. TesSeRact CXL V5.5 Documentation                                   Page 155
  9764. ---------------------------------------------------------------------------
  9765.  
  9766. NAME.........EMSpages          <TcxlMem.H>
  9767.  
  9768. DESCRIPTION
  9769.      Gets the number of EMS pages associated with the passed handle.
  9770.  
  9771. PROTOTYPE....IntT PAS EMSpages(_HdlT eh);
  9772.  
  9773. ARGUMENTS
  9774.   eh  -  EMS Handle
  9775.  
  9776. RETURNS
  9777.   Page Count on success, FALSE on failure, and sets MemEerr.
  9778.  
  9779. ---------------------------------------------------------------------------
  9780.  
  9781. NAME.........EMSmap            <TcxlMem.H>
  9782.  
  9783. DESCRIPTION
  9784.      Maps a "logical" EMS page into a "physical" hardware location
  9785.  
  9786. PROTOTYPE....IntT PAS EMSmap(_HdlT eh, IntT pp, IntT lp);
  9787.  
  9788. ARGUMENTS
  9789.   eh  -  EMS Handle
  9790.   pp  -  Physical Page
  9791.   lp  -  Logical Page
  9792.  
  9793. RETURNS
  9794.   TRUE on success, FALSE on failure, and sets MemEerr.
  9795.  
  9796. ---------------------------------------------------------------------------
  9797.  
  9798. NAME.........EMSquery          <TcxlMem.H>
  9799.  
  9800. DESCRIPTION
  9801.      Get the number of free EMS pages.  Also sets the size parameters in
  9802.      _MemCtl.
  9803.  
  9804. PROTOTYPE....IntT PAS EMSquery(NOARG);
  9805.  
  9806. ARGUMENTS....None
  9807.  
  9808. RETURNS
  9809.   Number of Free Pages; FALSE on failure, and sets MemEerr.
  9810.  
  9811.  
  9812.  
  9813.  
  9814.  
  9815.  
  9816.  
  9817.  
  9818.  
  9819.  
  9820.  
  9821.  
  9822. Page 156                                   TesSeRact CXL V5.5 Documentation
  9823. ---------------------------------------------------------------------------
  9824.  
  9825. NAME.........EMSrest           <TcxlMem.H>
  9826.  
  9827. DESCRIPTION
  9828.      Restores the EMS Page Map.
  9829.  
  9830. PROTOTYPE....IntT PAS EMSrest(_HdlT eh);
  9831.  
  9832. ARGUMENTS
  9833.   eh  -  EMS Handle
  9834.  
  9835. RETURNS
  9836.   TRUE on success, FALSE on error, and sets MemEerr.
  9837.  
  9838. ---------------------------------------------------------------------------
  9839.  
  9840. NAME.........EMSsave           <TcxlMem.H>
  9841.  
  9842. DESCRIPTION
  9843.      Saves the EMS Page Map.
  9844.  
  9845. PROTOTYPE....IntT PAS EMSsave(_HdlT eh);
  9846.  
  9847. ARGUMENTS
  9848.   eh  -  EMS Handle
  9849.  
  9850. RETURNS
  9851.   TRUE on success, FALSE on error, and sets MemEerr.
  9852.  
  9853. ---------------------------------------------------------------------------
  9854.  
  9855. NAME.........EMSsetnam         <TcxlMem.H>
  9856.  
  9857. DESCRIPTION
  9858.      Assigns a "name" to be associated with the particular EMS handle.
  9859.  
  9860. PROTOTYPE....IntT PAS EMSsetnam(_HdlT eh, ChrFP np);
  9861.  
  9862. ARGUMENTS
  9863.   eh  -  EMS Handle
  9864.   np  -  NULL-terminated Handle "name"
  9865.  
  9866. RETURNS
  9867.   TRUE on success, FALSE on error, and sets MemEerr.
  9868.  
  9869.  
  9870.  
  9871.  
  9872.  
  9873.  
  9874.  
  9875.  
  9876.  
  9877.  
  9878.  
  9879.  
  9880.  
  9881. TesSeRact CXL V5.5 Documentation                                   Page 157
  9882. ---------------------------------------------------------------------------
  9883.  
  9884. NAME.........EMSstat           <TcxlMem.H>
  9885.  
  9886. DESCRIPTION
  9887.      Checks the status of the EMS driver.
  9888.  
  9889. PROTOTYPE....IntT PAS EMSstat(NOARG);
  9890.  
  9891. ARGUMENTS....None
  9892.  
  9893. RETURNS
  9894.   TRUE if EMS is installed and active, FALSE on error, and sets MemEerr.
  9895.  
  9896. ---------------------------------------------------------------------------
  9897.  
  9898.                          Extended Memory Routines
  9899.  
  9900. ---------------------------------------------------------------------------
  9901.  
  9902. NAME.........XMSalloc          <TcxlMem.H>
  9903.  
  9904. DESCRIPTION
  9905.      Allocates a  block of  the given  size out  of  the  pool  of  free
  9906.      extended memory.
  9907.  
  9908. PROTOTYPE...._HdlT PAS XMSalloc(WrdT nk);
  9909.  
  9910. ARGUMENTS
  9911.   nk  -  K bytes to allocate
  9912.  
  9913. RETURNS
  9914.   XMS Handle if successful, FALSE on error, and sets MemXerr.
  9915.  
  9916. ---------------------------------------------------------------------------
  9917.  
  9918. NAME.........XMScopy           <TcxlMem.H>
  9919.  
  9920. DESCRIPTION
  9921.      Copy from  a block  of memory  to another  block of memory.  May be
  9922.      used for copys between "normal" and XMS memory in either direction,
  9923.      between two  different XMS  areas, or  between two  blocks  of  DOS
  9924.      memory.
  9925.  
  9926. PROTOTYPE....IntT PAS XMScopy(_XmsFP xp);
  9927.  
  9928. ARGUMENTS
  9929.   xp  -  Correctly Defined XMS_Move structure (see the XMS
  9930.       documentation for details)
  9931.  
  9932. RETURNS
  9933.   TRUE if successful, FALSE on error, and sets MemXerr.
  9934.  
  9935.  
  9936.  
  9937.  
  9938.  
  9939.  
  9940. Page 158                                   TesSeRact CXL V5.5 Documentation
  9941. ---------------------------------------------------------------------------
  9942.  
  9943. NAME.........XMSfree           <TcxlMem.H>
  9944.  
  9945. DESCRIPTION
  9946.      Free a block of extended memory previously allocated.
  9947.  
  9948. PROTOTYPE....IntT PAS XMSfree(_HdlT xh);
  9949.  
  9950. ARGUMENTS
  9951.   xh  -  XMS Handle
  9952.  
  9953. RETURNS
  9954.  
  9955. RETURNS
  9956.   TRUE if successful, FALSE on error, and sets MemXerr.
  9957.  
  9958. ---------------------------------------------------------------------------
  9959.  
  9960. NAME.........XMSavail          <TcxlMem.H>
  9961.  
  9962. DESCRIPTION
  9963.      Get amount of free XMS available.
  9964.  
  9965. PROTOTYPE....IntT PAS XMSavail(NOARG);
  9966.  
  9967. ARGUMENTS....None
  9968.  
  9969. RETURNS
  9970.   Largest available block of XMS memory.  Also updates globals in
  9971.   _MemCtl.
  9972.  
  9973. ---------------------------------------------------------------------------
  9974.  
  9975. NAME.........XMSquery          <TcxlMem.H>
  9976.  
  9977. DESCRIPTION
  9978.      Determine the amount of memory used by the passed XMS handle.
  9979.  
  9980. PROTOTYPE....IntT PAS XMSquery(_HdlT xh);
  9981.  
  9982. ARGUMENTS
  9983.   xh  -  XMS Handle
  9984.  
  9985. RETURNS
  9986.   Length of the XMS block.  FALSE on error, and sets MemXerr.
  9987.  
  9988.  
  9989.  
  9990.  
  9991.  
  9992.  
  9993.  
  9994.  
  9995.  
  9996.  
  9997.  
  9998.  
  9999. TesSeRact CXL V5.5 Documentation                                   Page 159
  10000. ---------------------------------------------------------------------------
  10001.  
  10002. NAME.........XMSlock           <TcxlMem.H>
  10003.  
  10004. DESCRIPTION
  10005.      This function  locks an extended memory block, and returns its base
  10006.      address as  a 32-bit  linear address.   Locked  memory  blocks  are
  10007.      guaranteed not to move, but should be unlocked as soon as possible.
  10008.      A block  does NOT  have to  be locked in order to use the XMSCopy()
  10009.      function.
  10010.  
  10011. PROTOTYPE...._AdrT PAS XMSlock(_HdlT xh);
  10012.  
  10013. ARGUMENTS
  10014.   xh  -  XMS Handle
  10015.  
  10016. RETURNS
  10017.   32-bit linear pointer to base of memory block.  0 if error.
  10018.  
  10019. ---------------------------------------------------------------------------
  10020.  
  10021. NAME.........XMSrealloc        <TcxlMem.H>
  10022.  
  10023. DESCRIPTION
  10024.      Changes the  size of  a block  of extended  memory  that  has  been
  10025.      previously allocated.
  10026.  
  10027. PROTOTYPE....IntT PAS XMSrealloc(_HdlT xh, WrdT ns);
  10028.  
  10029. ARGUMENTS
  10030.   xh  -  XMS Handle
  10031.   ns  -  New Size (in K)
  10032.  
  10033. RETURNS
  10034.   TRUE if successful, FALSE on error, and sets MemXerr.
  10035.  
  10036. ---------------------------------------------------------------------------
  10037.  
  10038. NAME.........XMSunlock         <TcxlMem.H>
  10039.  
  10040. DESCRIPTION
  10041.      Unlocks a previously-locked Extended Memory block.
  10042.  
  10043. PROTOTYPE....IntT PAS XMSunlock(_HdlT xh);
  10044.  
  10045. ARGUMENTS
  10046.   xh  -  XMS Handle
  10047.  
  10048. RETURNS
  10049.   TRUE if successful, FALSE on error, and sets MemXerr.
  10050.  
  10051.  
  10052.  
  10053.  
  10054.  
  10055.  
  10056.  
  10057.  
  10058. Page 160                                   TesSeRact CXL V5.5 Documentation
  10059. ---------------------------------------------------------------------------
  10060.  
  10061. NAME........._A20_LD           <TcxlMem.H>
  10062. ............._A20_LE
  10063. ............._A20chk
  10064. ............._A20dis
  10065. ............._A20ena
  10066.  
  10067. DESCRIPTION
  10068.      This functions  manipulate the  A20 line  on 286 processors.  Under
  10069.      normal conditions,  it is  not necessary to manipulate this line to
  10070.      access XMS;  consult the  XMS documentation  for details  on  these
  10071.      functions.
  10072.  
  10073. PROTOTYPE....IntT PAS _A20_LD(NOARG);
  10074. .............IntT PAS _A20_LE(NOARG);
  10075. .............IntT PAS _A20chk(NOARG);
  10076. .............IntT PAS _A20dis(NOARG);
  10077. .............IntT PAS _A20ena(NOARG);
  10078.  
  10079. ARGUMENTS....None
  10080.  
  10081. RETURNS
  10082.   TRUE if successful, FALSE on error, and sets MemXerr.
  10083.  
  10084. ---------------------------------------------------------------------------
  10085.  
  10086. NAME.........UMBalloc          <TcxlMem.H>
  10087.  
  10088. DESCRIPTION
  10089.      This function  allocates an  Upper Memory  Block.  To determine the
  10090.      largest available  UMB block,  call this  function  with  the  size
  10091.      parameter set to 0xFFFF.
  10092.  
  10093. PROTOTYPE....IntT PAS UMBalloc(WrdT np, _SegFP ps);
  10094.  
  10095. ARGUMENTS
  10096.   np  -  Number of Paragraphs to Allocate
  10097.   ps  -  FAR Pointer to location to store returned segment address
  10098.  
  10099. RETURNS
  10100.   If the returned segment address is zero, this function returns the
  10101.   largest available UMB area.  If the returned segment is non-zero, the
  10102.   memory is allocated, and this function returns the actual amount
  10103.   allocated.
  10104.  
  10105.  
  10106.  
  10107.  
  10108.  
  10109.  
  10110.  
  10111.  
  10112.  
  10113.  
  10114.  
  10115.  
  10116.  
  10117. TesSeRact CXL V5.5 Documentation                                   Page 161
  10118. ---------------------------------------------------------------------------
  10119.  
  10120. NAME.........UMBfree           <TcxlMem.H>
  10121.  
  10122. DESCRIPTION
  10123.      Frees a previously allocated UMB.
  10124.  
  10125. PROTOTYPE....IntT PAS UMBfree(_SegT ps);
  10126.  
  10127. ARGUMENTS
  10128.   ps  -  Segment address to free
  10129.  
  10130. RETURNS
  10131.   TRUE if successful, FALSE on error, and sets MemXerr.
  10132.  
  10133. ---------------------------------------------------------------------------
  10134.  
  10135. NAME.........HMAalloc          <TcxlMem.H>
  10136.  
  10137. DESCRIPTION
  10138.      Reserves the High Memory Area for use by this application program.
  10139.  
  10140. PROTOTYPE....IntT PAS HMAalloc(NOARG);
  10141.  
  10142. ARGUMENTS....None
  10143.  
  10144. RETURNS
  10145.   TRUE if successful, FALSE on error, and sets MemXerr.
  10146.  
  10147. ---------------------------------------------------------------------------
  10148.  
  10149. NAME.........HMAfree           <TcxlMem.H>
  10150.  
  10151. DESCRIPTION
  10152.      Frees the HMA area for use by other programs.
  10153.  
  10154. PROTOTYPE....IntT PAS HMAfree(NOARG);
  10155.  
  10156. ARGUMENTS....None
  10157.  
  10158. RETURNS
  10159.   TRUE if successful, FALSE on error, and sets MemXerr.
  10160.  
  10161.  
  10162.  
  10163.  
  10164.  
  10165.  
  10166.  
  10167.  
  10168.  
  10169.  
  10170.  
  10171.  
  10172.  
  10173.  
  10174.  
  10175.  
  10176. Page 162                                   TesSeRact CXL V5.5 Documentation
  10177. ---------------------------------------------------------------------------
  10178.  
  10179.                              Printer Subsystem
  10180.  
  10181. ---------------------------------------------------------------------------
  10182.  
  10183. NAME........._LPputC           <TcxlPrn.H>
  10184.  
  10185. DESCRIPTION
  10186.      This is  an internal  routine to  output a character to the printer
  10187.      port, expanding a single "\n" to "\r\n".
  10188.  
  10189. PROTOTYPE....VOID PAS _LPputC(IntT ch);
  10190.  
  10191. ARGUMENTS
  10192.   ch  -  Char to Output
  10193.  
  10194. ---------------------------------------------------------------------------
  10195.  
  10196. NAME.........lcrlf             <TcxlPrn.H>    Macro
  10197.  
  10198. DESCRIPTION
  10199.      Prints a carriage return and line feed on the printer (PRN).
  10200.  
  10201. PROTOTYPE....VOID lcrlf(NOARG);
  10202.  
  10203.   #define lcrlf() lprintc(0x0A)
  10204.  
  10205. ARGUMENTS....None
  10206.  
  10207. ---------------------------------------------------------------------------
  10208.  
  10209. NAME.........lprintc           <TcxlPrn.H>    Macro
  10210.  
  10211. DESCRIPTION
  10212.      Prints a character on the printer (PRN).
  10213.  
  10214. PROTOTYPE....VOID lprintc(IntT ch);
  10215.  
  10216.   #define lprintc(c) _LPputC(c);
  10217.  
  10218. ARGUMENTS
  10219.   ch  -  Character to print
  10220.  
  10221. ---------------------------------------------------------------------------
  10222.  
  10223. NAME.........lprintf           <TcxlPrn.H>
  10224.  
  10225. DESCRIPTION
  10226.      Sends formatted  output to the printer (PRN).  Works similar to the
  10227.      standard C printf() function.
  10228.  
  10229. PROTOTYPE....VOID CDC lprintf(ChrP fs, ...);
  10230.  
  10231. ARGUMENTS
  10232.   fs  -  Format String
  10233.   ... -  Additional Arguments
  10234.  
  10235. TesSeRact CXL V5.5 Documentation                                   Page 163
  10236. ---------------------------------------------------------------------------
  10237.  
  10238. NAME.........lprintn           <TcxlPrn.H>
  10239.  
  10240. DESCRIPTION
  10241.      Prints a fixed width buffer on the printer (PRN).
  10242.  
  10243. PROTOTYPE....VOID CTYP lprintn(ChrP ps, IntT nc);
  10244.  
  10245. ARGUMENTS
  10246.   ps  -  Buffer to Print
  10247.   nc  -  Number of Bytes to Print
  10248.  
  10249. ---------------------------------------------------------------------------
  10250.  
  10251. NAME.........lprintns          <TcxlPrn.H>
  10252.  
  10253. DESCRIPTION
  10254.      Prints a string to a fixed width on the printer (PRN).
  10255.  
  10256. PROTOTYPE....VOID CTYP lprintns(ChrP ps, IntT nc);
  10257.  
  10258. ARGUMENTS
  10259.   ps  -  String to Print
  10260.   nc  -  Number of Characters to Print
  10261.  
  10262. ---------------------------------------------------------------------------
  10263.  
  10264. NAME.........lprints           <TcxlPrn.H>
  10265.  
  10266. DESCRIPTION
  10267.      Prints a string on the printer (PRN).
  10268.  
  10269. PROTOTYPE....VOID CTYP lprints(ChrP ps);
  10270.  
  10271. ARGUMENTS
  10272.   ps  -  String to Print
  10273.  
  10274. ---------------------------------------------------------------------------
  10275.  
  10276. NAME.........lprintsb          <TcxlPrn.H>
  10277.  
  10278. DESCRIPTION
  10279.      Prints a bold-faced string on the printer (PRN).
  10280.  
  10281. PROTOTYPE....VOID CTYP lprintsb(ChrP ps, IntT nr);
  10282.  
  10283. ARGUMENTS
  10284.   ps  -  String to Print
  10285.   nr  -  Number of Repetions
  10286.  
  10287.  
  10288.  
  10289.  
  10290.  
  10291.  
  10292.  
  10293.  
  10294. Page 164                                   TesSeRact CXL V5.5 Documentation
  10295. ---------------------------------------------------------------------------
  10296.  
  10297. NAME.........lprintsu          <TcxlPrn.H>
  10298.  
  10299. DESCRIPTION
  10300.      Prints an underlined string on the printer (PRN).
  10301.  
  10302. PROTOTYPE....VOID CTYP lprintsu(ChrP ps);
  10303.  
  10304. ARGUMENTS
  10305.   ps  -  String to Print
  10306.  
  10307. ---------------------------------------------------------------------------
  10308.  
  10309. NAME.........scrndump
  10310.  
  10311. DESCRIPTION
  10312.      Dumps the current screen to the printer (PRN).
  10313.  
  10314. PROTOTYPE....VOID CTYP scrndump(NOARG);
  10315.  
  10316. ARGUMENTS....None
  10317.  
  10318. ---------------------------------------------------------------------------
  10319.  
  10320. NAME.........windump           <TcxlPrn.H>
  10321.  
  10322. DESCRIPTION
  10323.      Dumps a screen window to the printer (PRN).
  10324.  
  10325. PROTOTYPE....VOID CTYP windump(IntT sr, IntT sc, IntT er, IntT ec);
  10326.  
  10327. ARGUMENTS
  10328.   sr  -  Start Row
  10329.   sc  -  Start Column
  10330.   er  -  End Row
  10331.   ec  -  End Column
  10332.  
  10333. ---------------------------------------------------------------------------
  10334.  
  10335.                               OpSys Subsystem
  10336.  
  10337. ---------------------------------------------------------------------------
  10338.  
  10339. NAME........._ChgDir           <TcxlDos.H>
  10340.  
  10341. DESCRIPTION
  10342.      DOS Change Current Directory Routine.
  10343.  
  10344. PROTOTYPE....IntT PAS _ChgDir(ChrP p);
  10345.  
  10346. ARGUMENTS
  10347.   p   -  New Directory Name
  10348.  
  10349. RETURNS
  10350.   0 on success, 1 on failure.
  10351.  
  10352.  
  10353. TesSeRact CXL V5.5 Documentation                                   Page 165
  10354. ---------------------------------------------------------------------------
  10355.  
  10356. NAME........._ChgDrv           <TcxlDos.H>
  10357.  
  10358. DESCRIPTION
  10359.      DOS Change Current Drive Routine.
  10360.  
  10361. PROTOTYPE....IntT PAS _ChgDrv(IntT d);
  10362.  
  10363. ARGUMENTS
  10364.   d   -  New Drive Letter
  10365.  
  10366. RETURNS
  10367.   Last Drive in System as an upper-case letter
  10368.  
  10369. ---------------------------------------------------------------------------
  10370.  
  10371. NAME........._FndFst           <TcxlDos.H>
  10372.  
  10373. DESCRIPTION
  10374.      DOS FindFirst Routine.
  10375.  
  10376. PROTOTYPE....IntT PAS _FndFst(ChrP p, FfbP f, IntT a);
  10377.  
  10378. ARGUMENTS
  10379.   p   -  FileSpec to match
  10380.   f   -  DTA structure
  10381.   a   -  Attribute to match
  10382.  
  10383. RETURNS
  10384.   0 on success, 1 on failure.
  10385.  
  10386. ---------------------------------------------------------------------------
  10387.  
  10388. NAME........._FndNxt           <TcxlDos.H>
  10389.  
  10390. DESCRIPTION
  10391.      DOS FindNext Routine.
  10392.  
  10393. PROTOTYPE....IntT PAS _FndNxt(FfbP f);
  10394.  
  10395. ARGUMENTS
  10396.   f   -  DTA structure
  10397.  
  10398. RETURNS
  10399.   0 on success, 1 on failure.
  10400.  
  10401.  
  10402.  
  10403.  
  10404.  
  10405.  
  10406.  
  10407.  
  10408.  
  10409.  
  10410.  
  10411.  
  10412. Page 166                                   TesSeRact CXL V5.5 Documentation
  10413. ---------------------------------------------------------------------------
  10414.  
  10415. NAME........._GetDir           <TcxlDos.H>
  10416.  
  10417. DESCRIPTION
  10418.      DOS Get Directory Routine.
  10419.  
  10420. PROTOTYPE....VOID PAS _GetDir(IntT d, ChrP p);
  10421.  
  10422. ARGUMENTS
  10423.   d   -  Drive Letter
  10424.   p   -  Return Buffer
  10425.  
  10426. RETURNS......None
  10427.  
  10428. ---------------------------------------------------------------------------
  10429.  
  10430. NAME........._GetDrv           <TcxlDos.H>
  10431.  
  10432. DESCRIPTION
  10433.      DOS Get Current Drive Routine
  10434.  
  10435. PROTOTYPE....IntT PAS _GetDrv(NOARG);
  10436.  
  10437. ARGUMENTS....None
  10438.  
  10439. RETURNS
  10440.   The current drive as an upper-case letter.
  10441.  
  10442. ---------------------------------------------------------------------------
  10443.  
  10444. NAME........._InpByt           <TcxlDos.H>
  10445.  
  10446. DESCRIPTION
  10447.      Read a byte from a hardware port.
  10448.  
  10449. PROTOTYPE....IntT PAS _InpByt(WrdT p);
  10450.  
  10451. ARGUMENTS
  10452.   p   -  Port to Read
  10453.  
  10454. RETURNS
  10455.   The returned value.
  10456.  
  10457.  
  10458.  
  10459.  
  10460.  
  10461.  
  10462.  
  10463.  
  10464.  
  10465.  
  10466.  
  10467.  
  10468.  
  10469.  
  10470.  
  10471. TesSeRact CXL V5.5 Documentation                                   Page 167
  10472. ---------------------------------------------------------------------------
  10473.  
  10474. NAME........._InpWrd           <TcxlDos.H>
  10475.  
  10476. DESCRIPTION
  10477.      Read a word from a hardware port.
  10478.  
  10479. PROTOTYPE....WrdT PAS _InpWrd(WrdT p);
  10480.  
  10481. ARGUMENTS
  10482.   p   -  Port to Read
  10483.  
  10484. RETURNS
  10485.   The returned value
  10486.  
  10487. ---------------------------------------------------------------------------
  10488.  
  10489. NAME........._IntDis           <TcxlDos.H>
  10490.  
  10491. DESCRIPTION
  10492.      Disable Interrupts.
  10493.  
  10494. PROTOTYPE....VOID PAS _IntDis(NOARG);
  10495.  
  10496. ARGUMENTS....None
  10497.  
  10498. RETURNS......None
  10499.  
  10500. ---------------------------------------------------------------------------
  10501.  
  10502. NAME........._IntEna           <TcxlDos.H>
  10503.  
  10504. DESCRIPTION
  10505.      Enable Interrupts.
  10506.  
  10507. PROTOTYPE....VOID PAS _IntEna(NOARG);
  10508.  
  10509. ARGUMENTS....None
  10510.  
  10511. RETURNS......None
  10512.  
  10513.  
  10514.  
  10515.  
  10516.  
  10517.  
  10518.  
  10519.  
  10520.  
  10521.  
  10522.  
  10523.  
  10524.  
  10525.  
  10526.  
  10527.  
  10528.  
  10529.  
  10530. Page 168                                   TesSeRact CXL V5.5 Documentation
  10531. ---------------------------------------------------------------------------
  10532.  
  10533. NAME........._OutByt           <TcxlDos.H>
  10534.  
  10535. DESCRIPTION
  10536.      Output a byte to a hardware port.
  10537.  
  10538. PROTOTYPE....VOID PAS _OutByt(WrdT p, IntT b);
  10539.  
  10540. ARGUMENTS
  10541.   p   -  Port to Write
  10542.   b   -  Byte to Write
  10543.  
  10544. RETURNS......None
  10545.  
  10546. ---------------------------------------------------------------------------
  10547.  
  10548. NAME........._OutWrd           <TcxlDos.H>
  10549.  
  10550. DESCRIPTION
  10551.      Output a word to a hardware port.
  10552.  
  10553. PROTOTYPE....VOID PAS _OutWrd(WrdT p, WrdT w);
  10554.  
  10555. ARGUMENTS
  10556.   p   -  Port to Write
  10557.   w   -  Word to Write
  10558.  
  10559. RETURNS......None
  10560.  
  10561.  
  10562.  
  10563.  
  10564.  
  10565.  
  10566.  
  10567.  
  10568.  
  10569.  
  10570.  
  10571.  
  10572.  
  10573.  
  10574.  
  10575.  
  10576.  
  10577.  
  10578.  
  10579.  
  10580.  
  10581.  
  10582.  
  10583.  
  10584.  
  10585.  
  10586.  
  10587.  
  10588.  
  10589. TesSeRact CXL V5.5 Documentation                                   Page 169
  10590. ---------------------------------------------------------------------------
  10591.  
  10592.  
  10593.                           Bottom Level Functions
  10594.  
  10595.  
  10596.                           Video Access Subsystem
  10597.  
  10598.  
  10599.                           Direct Hardware Access
  10600.  
  10601. ---------------------------------------------------------------------------
  10602.  
  10603. NAME.........VidOfs            <TcxlVid.H>    Macro
  10604.  
  10605. DESCRIPTION
  10606.      Convert a row/column coordinate to an offset into the video buffer.
  10607.  
  10608. PROTOTYPE....WrdT VidOfs(IntT r, IntT c);
  10609.  
  10610.   #define VidOfs(r,c) ((((r)*VidWid)+(c))<<1)
  10611.  
  10612. ARGUMENTS
  10613.   r   -  Row
  10614.   c   -  Column
  10615.  
  10616. RETURNS
  10617.   Offset into video buffer
  10618.  
  10619. ---------------------------------------------------------------------------
  10620.  
  10621. NAME.........VgetDvb           <_TcxlVid.H>
  10622.  
  10623. DESCRIPTION
  10624.      Returns alternate buffer segment, if it exists.
  10625.  
  10626. PROTOTYPE....WrdT PAS VgetDvb(WrdT v);
  10627.  
  10628. ARGUMENTS
  10629.   v   -  Assumed Video Buffer
  10630.  
  10631. RETURNS
  10632.   Actual Video Buffer
  10633.  
  10634. ---------------------------------------------------------------------------
  10635.  
  10636. NAME.........VisaEga           <_TcxlVid.H>
  10637.  
  10638. DESCRIPTION
  10639.      Determines whether video is an EGA/VGA card.
  10640.  
  10641. PROTOTYPE....IntT PAS VisaEga(NOARG);
  10642.  
  10643. ARGUMENTS....None
  10644.  
  10645. RETURNS
  10646.   -1 if not EGA/VGA BIOS, 0 if EGA/VGA/Color, or 1 if EGA/VGA/Mono
  10647.  
  10648. Page 170                                   TesSeRact CXL V5.5 Documentation
  10649. ---------------------------------------------------------------------------
  10650.  
  10651. NAME.........VisaPs2           <_TcxlVid.H>
  10652.  
  10653. DESCRIPTION
  10654.      Determines whether we have a PS/2 BIOS
  10655.  
  10656. PROTOTYPE....IntT PAS VisaPs2(NOARG);
  10657.  
  10658. ARGUMENTS....None
  10659.  
  10660. RETURNS
  10661.   -1 if not a PS/2 bios, else adapter/monitor type.
  10662.   Monitor types returned:
  10663.       0  - No Display
  10664.       1  - Mono/Mono
  10665.       2  - CGA/Color
  10666.       3  - Reserved
  10667.       4  - EGA/Color
  10668.       5  - EGA/Mono
  10669.       6  - PGA/Color
  10670.       7  - VGA/Analog Mono
  10671.       8  - VGA/Analog Color
  10672.  
  10673. ---------------------------------------------------------------------------
  10674.  
  10675. NAME.........VsetChr           <_TcxlVid.H>
  10676.  
  10677. DESCRIPTION
  10678.      Select/load EGA/VGA character-set using AX=<f>
  10679.  
  10680. PROTOTYPE....VOID PAS VsetChr(WrdT f);
  10681.  
  10682. ARGUMENTS
  10683.   f   -  AX value for call
  10684.  
  10685. RETURNS......None
  10686.  
  10687.  
  10688.  
  10689.  
  10690.  
  10691.  
  10692.  
  10693.  
  10694.  
  10695.  
  10696.  
  10697.  
  10698.  
  10699.  
  10700.  
  10701.  
  10702.  
  10703.  
  10704.  
  10705.  
  10706.  
  10707. TesSeRact CXL V5.5 Documentation                                   Page 171
  10708. ---------------------------------------------------------------------------
  10709.  
  10710.                             Ultravision Support
  10711.  
  10712. ---------------------------------------------------------------------------
  10713.  
  10714. NAME........._VuvDis           <_TcxlVid.H>
  10715.  
  10716. DESCRIPTION
  10717.      Disables UltraVision  Video Control.   Restores  video  display  to
  10718.      default settings.
  10719.  
  10720. PROTOTYPE....VOID PAS _VuvDis(NOARG);
  10721.  
  10722. ARGUMENTS....None
  10723.  
  10724. RETURNS......None
  10725.  
  10726. ---------------------------------------------------------------------------
  10727.  
  10728. NAME........._VuvEna           <_TcxlVid.H>
  10729.  
  10730. DESCRIPTION
  10731.      Enables UltraVision, restoring previous UV video parameters.
  10732.  
  10733. PROTOTYPE....VOID PAS _VuvEna(NOARG);
  10734.  
  10735. ARGUMENTS....None
  10736.  
  10737. RETURNS......None
  10738.  
  10739. ---------------------------------------------------------------------------
  10740.  
  10741. NAME........._VuvGet           <_TcxlVid.H>
  10742.  
  10743. DESCRIPTION
  10744.      Get Ultravision  Mode, initialize  flags.    Called  internally  by
  10745.      VidInit().
  10746.  
  10747. PROTOTYPE....IntT PAS _VuvGet(NOARG);
  10748.  
  10749. ARGUMENTS....None
  10750.  
  10751. RETURNS
  10752.   UV Text Mode
  10753.  
  10754.  
  10755.  
  10756.  
  10757.  
  10758.  
  10759.  
  10760.  
  10761.  
  10762.  
  10763.  
  10764.  
  10765.  
  10766. Page 172                                   TesSeRact CXL V5.5 Documentation
  10767. ---------------------------------------------------------------------------
  10768.  
  10769. NAME........._VuvSet           <_TcxlVid.H>
  10770.  
  10771. DESCRIPTION
  10772.      Sets UltraVision text mode.
  10773.  
  10774. PROTOTYPE....VOID PAS _VuvSet(IntT md);
  10775.  
  10776. ARGUMENTS
  10777.   md  -  UV Mode
  10778.  
  10779. RETURNS......None
  10780.  
  10781. ---------------------------------------------------------------------------
  10782.  
  10783. NAME........._VuvVal           <_TcxlVid.H>
  10784.  
  10785. DESCRIPTION
  10786.      Validates UltraVision  text mode.   Used  to determine  whether the
  10787.      passed mode  is  valid  for  the  installed  card  and  version  of
  10788.      UltraVision.
  10789.  
  10790. PROTOTYPE....VOID PAS _VuvVal(IntT md);
  10791.  
  10792. ARGUMENTS
  10793.   md  -  UV Mode
  10794.  
  10795. RETURNS
  10796.   0 if mode is valid, -1 if invalid
  10797.  
  10798. ---------------------------------------------------------------------------
  10799.  
  10800.                           Internal Hardware Calls
  10801.  
  10802. ---------------------------------------------------------------------------
  10803.  
  10804. NAME........._VgetN            <_TcxlVid.H>   Macro
  10805. ............._VgetN_
  10806.  
  10807. DESCRIPTION
  10808.      Get <n> VcelTs at VposT <v> to <d> via BIOS or DMA,
  10809.  
  10810. PROTOTYPE....VOID _VgetN(VcelP p, VposT v, IntT n);
  10811. .............VOID PAS _VgetN_(VcelP p, WrdT v, IntT n);
  10812.  
  10813.   #define _VgetN(p,v,n) (_VgetN_((p),VposW(v),(n)))
  10814.  
  10815.  
  10816.  
  10817.  
  10818.  
  10819.  
  10820.  
  10821.  
  10822.  
  10823.  
  10824.  
  10825. TesSeRact CXL V5.5 Documentation                                   Page 173
  10826. ---------------------------------------------------------------------------
  10827.  
  10828. NAME........._VgetS            <_TcxlVid.H>   Macro
  10829. ............._VgetS_
  10830.  
  10831. DESCRIPTION
  10832.      Get <n> chars at VposT <v> to <d>, skipping attrs, via BIOS or DMA.
  10833.  
  10834. PROTOTYPE....VOID _VgetS(BytP p, VposT v, IntT n);
  10835. .............VOID PAS _VgetS_(BytP p, WrdT v, IntT n);
  10836.  
  10837.   #define _VgetS(p,v,n) (_VgetS_((p),VposW(v),(n)))
  10838.  
  10839. ---------------------------------------------------------------------------
  10840.  
  10841. NAME........._VgetW            <_TcxlVid.H>   Macro
  10842. ............._VgetW_
  10843.  
  10844. DESCRIPTION
  10845.      Get VcelT at VposT <v> via BIOS or DMA.
  10846.  
  10847. PROTOTYPE....VOID _VgetW(VposT v, VcelT x);
  10848. .............WrdT PAS _VgetW_(WrdT v);
  10849.  
  10850.   #define _VgetW(v,x) (VcelW(x)=_VgetW_(VposW(v)))
  10851.  
  10852. ---------------------------------------------------------------------------
  10853.  
  10854. NAME........._VgetX            <_TcxlVid.H>   Macro
  10855. ............._VgetX_
  10856.  
  10857. DESCRIPTION
  10858.      Get VcelT at cursor (BIOS)
  10859.  
  10860. PROTOTYPE....VOID _VgetX(VcelT x);
  10861. .............WrdT PAS _VgetX_(NOARG);
  10862.  
  10863.   #define _VgetX(x) (VcelW(x)=_VgetX_())
  10864.  
  10865. ---------------------------------------------------------------------------
  10866.  
  10867. NAME........._VputA            <_TcxlVid.H>   Macro
  10868. ............._VputA_
  10869.  
  10870. DESCRIPTION
  10871.      Put <n>  dup attrs  <a> at  VposT <v>,  skipping chars, via BIOS or
  10872.      DMA.
  10873.  
  10874. PROTOTYPE....VOID _VputA(VposT v, IntT a, IntT n);
  10875. .............VOID PAS _VputA_(WrdT v, IntT a, IntT n);
  10876.  
  10877.   #define _VputA(v,a,n) (_VputA_(VposW(v),(a),(n)))
  10878.  
  10879.  
  10880.  
  10881.  
  10882.  
  10883.  
  10884. Page 174                                   TesSeRact CXL V5.5 Documentation
  10885. ---------------------------------------------------------------------------
  10886.  
  10887. NAME........._VputB            <_TcxlVid.H>   Macro
  10888. ............._VputB_
  10889.  
  10890. DESCRIPTION
  10891.      Put <n> dup chars <c> and attrs <a> at VposT <v> via BIOS or DMA.
  10892.  
  10893. PROTOTYPE....VOID _VputB(VposT v, IntT c, IntT a, IntT n);
  10894. .............VOID PAS _VputB_(WrdT v, IntT c, IntT a, IntT n);
  10895.  
  10896.   #define _VputB(v,c,a,n) (_VputB_(VposW(v),(c),(a),(n)))
  10897.  
  10898. ---------------------------------------------------------------------------
  10899.  
  10900. NAME........._VputC            <_TcxlVid.H>   Macro
  10901. ............._VputC_
  10902.  
  10903. DESCRIPTION
  10904.      Put <n>  dup chars  <c> at  VposT <v>,  skipping attrs, via BIOS or
  10905.      DMA.
  10906.  
  10907. PROTOTYPE....VOID _VputC(VposT v, IntT c, IntT n);
  10908. .............VOID PAS _VputC_(WrdT v, IntT c, IntT n);
  10909.  
  10910.   #define _VputC(v,c,n) (_VputC_(VposW(v),(c),(n)))
  10911.  
  10912. ---------------------------------------------------------------------------
  10913.  
  10914. NAME........._VputN            <_TcxlVid.H>   Macro
  10915. ............._VputN_
  10916.  
  10917. DESCRIPTION
  10918.      Put <n> VcelTs from <p> at VposT <v> via BIOS or DMA.
  10919.  
  10920. PROTOTYPE....VOID _VputN(VposT v, VcelP p, WrdT n);
  10921. .............VOID PAS _VputN_(WrdT v, VcelP p, IntT n);
  10922.  
  10923.   #define _VputN(v,p,n) (_VputN_(VposW(v),(p),(n)))
  10924.  
  10925. ---------------------------------------------------------------------------
  10926.  
  10927. NAME........._VputS            <_TcxlVid.H>   Macro
  10928. ............._VputS_
  10929.  
  10930. DESCRIPTION
  10931.      Put string at <p> with attr <a> at VposT <v> via BIOS or DMA.
  10932.  
  10933. PROTOTYPE....VOID _VputS(VposT v, ChrP p,  IntT a);
  10934. .............VOID PAS _VputS_(WrdT v, ChrP p, IntT a);
  10935.  
  10936.   #define _VputS(v,p,a) (_VputS_(VposW(v),(p),(a)))
  10937.  
  10938.  
  10939.  
  10940.  
  10941.  
  10942.  
  10943. TesSeRact CXL V5.5 Documentation                                   Page 175
  10944. ---------------------------------------------------------------------------
  10945.  
  10946. NAME........._VputW            <_TcxlVid.H>   Macro
  10947. ............._VputW_
  10948.  
  10949. DESCRIPTION
  10950.      Put <n> dup VcelTs <c> at VposT <v> via BIOS or DMA.
  10951.  
  10952. PROTOTYPE....VOID _VputW(VposT v, VcelT c, IntT n);
  10953. .............VOID PAS _VputW_(WrdT v, WrdT c, IntT n);
  10954.  
  10955.   #define _VputW(v,c,n) (_VputW_(VposW(v),VcelW(c),(n)))
  10956.  
  10957. ---------------------------------------------------------------------------
  10958.  
  10959. NAME........._VputX            <_TcxlVid.H>   Macro
  10960. ............._VputX_
  10961.  
  10962. DESCRIPTION
  10963.      Put VcelT <x> at cursor (BIOS)
  10964.  
  10965. PROTOTYPE....VOID _VputX(VcelT x);
  10966. .............VOID PAS _VputX_(WrdT x);
  10967.  
  10968.   #define _VputX(x) (_VputX_(VcelW(x)))
  10969.  
  10970. ---------------------------------------------------------------------------
  10971.  
  10972.  
  10973.                          Keyboard Access Subsystem
  10974.  
  10975. ---------------------------------------------------------------------------
  10976.  
  10977. NAME.........KscnCod           <TcxlKey.H>
  10978.  
  10979. DESCRIPTION
  10980.      This function  returns the  appropriate scan  code for  the  passed
  10981.      ASCII character.
  10982.  
  10983. PROTOTYPE....IntT CTYP KscnCod(IntT c);
  10984.  
  10985. ARGUMENTS
  10986.   c   -  Character to Translate
  10987.  
  10988. RETURNS
  10989.   Scan code for the character
  10990.  
  10991. ---------------------------------------------------------------------------
  10992.  
  10993. NAME.........KcapOff           <TcxlKey.H>    Macro
  10994.  
  10995. DESCRIPTION
  10996.      This function turns CapsLock off.
  10997.  
  10998. PROTOTYPE....VOID KcapOff(NOARG);
  10999.  
  11000.   #define KcapOff() (_KeySet(KEY_CAP, 0))
  11001.  
  11002. Page 176                                   TesSeRact CXL V5.5 Documentation
  11003. ---------------------------------------------------------------------------
  11004.  
  11005. NAME.........KcapOn            <TcxlKey.H>    Macro
  11006.  
  11007. DESCRIPTION
  11008.      This function turns CapsLock on.
  11009.  
  11010. PROTOTYPE....VOID KcapOn(NOARG);
  11011.  
  11012.   #define KcapOn() (_KeySet(KEY_CAP, 1))
  11013.  
  11014. ---------------------------------------------------------------------------
  11015.  
  11016. NAME.........KextOff           <TcxlKey.H>    Macro
  11017.  
  11018. DESCRIPTION
  11019.      This function  turns off support for the enhanced keyboard, if such
  11020.      support has already been enabled.
  11021.  
  11022. PROTOTYPE....VOID KextOff(NOARG);
  11023.  
  11024.   #define KextOff() (KctlFlg &= ~KEY_EXT)
  11025.  
  11026. ---------------------------------------------------------------------------
  11027.  
  11028. NAME.........KextOn            <TcxlKey.H>    Macro
  11029.  
  11030. DESCRIPTION
  11031.      This function  enables enhanced  keyboard support, if TCXL was able
  11032.      to autodetect  the presence of an enhanced keyboard AND an enhanced
  11033.      BIOS.
  11034.  
  11035. PROTOTYPE....VOID KextOn(NOARG);
  11036.  
  11037.   #define KextOn() if(TcxlKey) KctlFlg |= KEY_EXT
  11038.  
  11039. ---------------------------------------------------------------------------
  11040.  
  11041. NAME.........KinsOff           <TcxlKey.H>    Macro
  11042.  
  11043. DESCRIPTION
  11044.      This function turns Insert off.
  11045.  
  11046. PROTOTYPE....VOID KinsOff(NOARG);
  11047.  
  11048.   #define KinsOff() (_KeySet(KEY_INS, 0))
  11049.  
  11050. ---------------------------------------------------------------------------
  11051.  
  11052. NAME.........KinsOn            <TcxlKey.H>    Macro
  11053.  
  11054. DESCRIPTION
  11055.      This function turns Insert on.
  11056.  
  11057. PROTOTYPE....VOID KinsOn(NOARG);
  11058.  
  11059.   #define KinsOn() (_KeySet(KEY_INS, 1))
  11060.  
  11061. TesSeRact CXL V5.5 Documentation                                   Page 177
  11062. ---------------------------------------------------------------------------
  11063.  
  11064. NAME.........KnumOff           <TcxlKey.H>    Macro
  11065.  
  11066. DESCRIPTION
  11067.      This function turns Numlock off.
  11068.  
  11069. PROTOTYPE....VOID KnumOff(NOARG);
  11070.  
  11071.   #define KnumOff() (_KeySet(KEY_NUM, 0))
  11072.  
  11073. ---------------------------------------------------------------------------
  11074.  
  11075. NAME.........KnumOn            <TcxlKey.H>    Macro
  11076.  
  11077. DESCRIPTION
  11078.      This function turns Numlock on.
  11079.  
  11080. PROTOTYPE....VOID KnumOn(NOARG);
  11081.  
  11082.   #define KnumOn() (_KeySet(KEY_NUM, 1))
  11083.  
  11084. ---------------------------------------------------------------------------
  11085.  
  11086. NAME........._KeyExt           <TcxlKey.H>
  11087.  
  11088. DESCRIPTION
  11089.      Determine if the machine supports extended BIOS keyboard codes.
  11090.  
  11091. PROTOTYPE....IntT PAS _KeyExt(NOARG);
  11092.  
  11093. ARGUMENTS....None
  11094.  
  11095. RETURNS
  11096.   Zero if BIOS doesn't support extended codes
  11097.   One if BIOS support exists; also updates _KeyCtl.kflg
  11098.  
  11099. ---------------------------------------------------------------------------
  11100.  
  11101. NAME........._KeyGet           <TcxlKey.H>
  11102.  
  11103. DESCRIPTION
  11104.      Get the next keystroke from the BIOS.
  11105.  
  11106. PROTOTYPE....KeyT PAS _KeyGet(NOARG);
  11107.  
  11108. ARGUMENTS....None
  11109.  
  11110. RETURNS
  11111.   ASCII/ScanCode Pair as returned by INT 16h
  11112.  
  11113.  
  11114.  
  11115.  
  11116.  
  11117.  
  11118.  
  11119.  
  11120. Page 178                                   TesSeRact CXL V5.5 Documentation
  11121. ---------------------------------------------------------------------------
  11122.  
  11123. NAME........._KeyHit           <TcxlKey.H>
  11124.  
  11125. DESCRIPTION
  11126.      Check to see if a key is waiting from BIOS
  11127.  
  11128. PROTOTYPE....IntT PAS _KeyHit(NOARG);
  11129.  
  11130. ARGUMENTS....None
  11131.  
  11132. RETURNS
  11133.   1 if a key is waiting
  11134.   0 if no key is waiting
  11135.  
  11136. ---------------------------------------------------------------------------
  11137.  
  11138. NAME........._KeySet           <TcxlKey.H>
  11139.  
  11140. DESCRIPTION
  11141.      Toggle Keyboard Shift-State
  11142.  
  11143. PROTOTYPE....VOID PAS _KeySet(IntT b, IntT s);
  11144.  
  11145. ARGUMENTS
  11146.   b   -  State to toggle
  11147.   s   -  0 means turn off, 1 means turn on
  11148.  
  11149. RETURNS......NONE
  11150.  
  11151. ---------------------------------------------------------------------------
  11152.  
  11153. NAME........._KeySta           <TcxlKey.H>
  11154.  
  11155. DESCRIPTION
  11156.      Returns the status of the keyboard control keys.
  11157.  
  11158. PROTOTYPE....WrdT PAS _KeySta(NOARG);
  11159.  
  11160. ARGUMENTS....None
  11161.  
  11162. RETURNS
  11163.   Status Word of the Keyboard Flag
  11164.  
  11165.  
  11166.  
  11167.  
  11168.  
  11169.  
  11170.  
  11171.  
  11172.  
  11173.  
  11174.  
  11175.  
  11176.  
  11177.  
  11178.  
  11179. TesSeRact CXL V5.5 Documentation                                   Page 179
  11180. ---------------------------------------------------------------------------
  11181.  
  11182. NAME.........KqueChk           Macro
  11183.  
  11184. DESCRIPTION
  11185.      This function  determines if  any keystrokes  are  waiting  in  the
  11186.      internal keyboard queue.
  11187.  
  11188. PROTOTYPE....IntT KqueChk(NOARG);
  11189.  
  11190.   #define KqueChk() (KctlCnt > 0)
  11191.  
  11192. ARGUMENTS....None
  11193.  
  11194. RETURNS
  11195.   TRUE if keys are waiting, FALSE otherwise
  11196.  
  11197. ---------------------------------------------------------------------------
  11198.  
  11199. NAME.........KqueClr           <TcxlKey.H>
  11200.  
  11201. DESCRIPTION
  11202.      Clears the internal keyboard queue.
  11203.  
  11204. PROTOTYPE....VOID PAS KqueClr(NOARG);
  11205.  
  11206. ARGUMENTS....None
  11207.  
  11208. RETURNS......None
  11209.  
  11210. ---------------------------------------------------------------------------
  11211.  
  11212. NAME.........KqueGet           <TcxlKey.H>
  11213.  
  11214. DESCRIPTION
  11215.      Returns the next keycode from the internal queue.
  11216.  
  11217. PROTOTYPE....KeyT PAS KqueGet(NOARG);
  11218.  
  11219. ARGUMENTS....None
  11220.  
  11221. RETURNS
  11222.   Next keycode; 0 if no keys are in queue
  11223.  
  11224.  
  11225.  
  11226.  
  11227.  
  11228.  
  11229.  
  11230.  
  11231.  
  11232.  
  11233.  
  11234.  
  11235.  
  11236.  
  11237.  
  11238. Page 180                                   TesSeRact CXL V5.5 Documentation
  11239. ---------------------------------------------------------------------------
  11240.  
  11241. NAME.........KquePut           <TcxlKey.H>
  11242.  
  11243. DESCRIPTION
  11244.      Inserts the passed keystroke into the internal keyboard queue.
  11245.  
  11246. PROTOTYPE....IntT PAS KquePut(KeyT k);
  11247.  
  11248. ARGUMENTS
  11249.   k   -  Keystroke to Enqueue
  11250.  
  11251. RETURNS
  11252.   0 on success, 1 if queue is full
  11253.  
  11254. ---------------------------------------------------------------------------
  11255.  
  11256. NAME.........KqueStr           <TcxlKey.H>
  11257.  
  11258. DESCRIPTION
  11259.      Inserts the  passed string  into the internal keyboard queue.  This
  11260.      is an  ASCII-only string;  scan codes  are inserted  based  on  the
  11261.      KscnCod() (Page 176) function.
  11262.  
  11263. PROTOTYPE....IntT CTYP KqueStr(ChrP s);
  11264.   s   -  String to Enqueue
  11265.  
  11266. RETURNS
  11267.   0 on success, 1 if queue is full
  11268.  
  11269.  
  11270.  
  11271.  
  11272.  
  11273.  
  11274.  
  11275.  
  11276.  
  11277.  
  11278.  
  11279.  
  11280.  
  11281.  
  11282.  
  11283.  
  11284.  
  11285.  
  11286.  
  11287.  
  11288.  
  11289.  
  11290.  
  11291.  
  11292.  
  11293.  
  11294.  
  11295.  
  11296.  
  11297. TesSeRact CXL V5.5 Documentation                                   Page 181
  11298. ---------------------------------------------------------------------------
  11299.  
  11300.                           Mouse Access Subsystem
  11301.  
  11302. ---------------------------------------------------------------------------
  11303.  
  11304. NAME.........MSclear           <TcxlMou.H>
  11305.  
  11306. DESCRIPTION
  11307.      Clear mouse button presses and releases and update _MouCtl.
  11308.  
  11309. PROTOTYPE....VOID PAS MSclear(NOARG);
  11310.  
  11311. ARGUMENTS....None
  11312.  
  11313. RETURNS......None
  11314.  
  11315.  
  11316.  
  11317.  
  11318.  
  11319.  
  11320.  
  11321.  
  11322.  
  11323.  
  11324.  
  11325.  
  11326.  
  11327.  
  11328.  
  11329.  
  11330.  
  11331.  
  11332.  
  11333.  
  11334.  
  11335.  
  11336.  
  11337.  
  11338.  
  11339.  
  11340.  
  11341.  
  11342.  
  11343.  
  11344.  
  11345.  
  11346.  
  11347.  
  11348.  
  11349.  
  11350.  
  11351.  
  11352.  
  11353.  
  11354.  
  11355.  
  11356. Page 182                                   TesSeRact CXL V5.5 Documentation
  11357. ---------------------------------------------------------------------------
  11358.  
  11359. NAME.........MScurs            <TcxlMou.H>
  11360.  
  11361. DESCRIPTION
  11362.      Sets the  mouse text  cursor type.   The  mouse  cursor  can  be  a
  11363.      hardware or softare cursor.  The hardware cursor is the same as the
  11364.      normal cursor  you see when you are at the DOS prompt.  Because the
  11365.      mouse's hardware  cursor is the same as the normal cursor, they can
  11366.      interfere with each other, making this method impractical to use in
  11367.      most cases.   The  software mouse  cursor is  a text  box that  can
  11368.      reveal the  underlying character.   This is the cursor most used by
  11369.      programs including other TCXL mouse support functions.
  11370.  
  11371. PROTOTYPE....VOID PAS MScurs(WrdT t, WrdT s, WrdT c);
  11372.  
  11373. ARGUMENTS
  11374.   t   -  Cursor Type (0=software, 1=hardware)
  11375.   s   -  Screen Mask (Software) or Start Scan Line (Hardware)
  11376.   c   -  Cursor Mask (Software) or End Scan Line (Hardware)
  11377.  
  11378.   If using  a software  cursor, the  screen mask determines which of the
  11379.   characters attributes  are preserved.  It is  ANDed  with  the  screen
  11380.   character and  attribute (See Appendix A).  The cursor mask is used to
  11381.   determine which of the characteristics are changed by the cursor.  The
  11382.   cmask is  XORed with  the result  of (smask  AND character-attribute).
  11383.   The bit format for both smask and cmask are:
  11384.  
  11385.   Bit............Content
  11386.   ---............-------
  11387.   0-7............ASCII character code
  11388.   8-10...........foreground color
  11389.   11.............0=intensity off, 1=intensity on
  11390.   12-14..........background color
  11391.   15.............0=no blink, 1=blink
  11392.  
  11393.   The default mouse cursor is "Software, Smask=0xFFFF, Cmask=0x7700".
  11394.  
  11395. RETURNS......None
  11396.  
  11397.  
  11398.  
  11399.  
  11400.  
  11401.  
  11402.  
  11403.  
  11404.  
  11405.  
  11406.  
  11407.  
  11408.  
  11409.  
  11410.  
  11411.  
  11412.  
  11413.  
  11414.  
  11415. TesSeRact CXL V5.5 Documentation                                   Page 183
  11416. ---------------------------------------------------------------------------
  11417.  
  11418. NAME.........MSgoto            <TcxlMou.H>
  11419.  
  11420. DESCRIPTION
  11421.      Sets the mouse cursor coordinates.
  11422.  
  11423. PROTOTYPE....VOID PAS MSgoto(IntT r, IntT c);
  11424.  
  11425. ARGUMENTS
  11426.   r   -  Mouse Row
  11427.   c   -  Mouse Column
  11428.  
  11429. RETURNS......None
  11430.  
  11431. ---------------------------------------------------------------------------
  11432.  
  11433. NAME.........MShide            <TcxlMou.H>
  11434.  
  11435. DESCRIPTION
  11436.      Hides the mouse cursor.
  11437.  
  11438. PROTOTYPE....VOID PAS MShide(NOARG);
  11439.  
  11440. ARGUMENTS....None
  11441.  
  11442. RETURNS......None
  11443.  
  11444. ---------------------------------------------------------------------------
  11445.  
  11446. NAME.........MShome            <TcxlMou.H>
  11447.  
  11448. DESCRIPTION
  11449.      Home the  mouse to  the center of the screen and clear the internal
  11450.      counters.
  11451.  
  11452. PROTOTYPE....VOID PAS MShome(NOARG);
  11453.  
  11454. ARGUMENTS....None
  11455.  
  11456. RETURNS......None
  11457.  
  11458. ---------------------------------------------------------------------------
  11459.  
  11460. NAME.........MSinit            <TcxlMou.H>
  11461.  
  11462. DESCRIPTION
  11463.   Determines if a mouse is present.  If so, initializes mouse to the
  11464.   default type, and clears all counters.  This function is automatically
  11465.   called during TcxlInit().
  11466.  
  11467. PROTOTYPE....IntT PAS MSinit(NOARG);
  11468.  
  11469. ARGUMENTS....None
  11470.  
  11471. RETURNS
  11472.   Nonzero if mouse is present.
  11473.  
  11474. Page 184                                   TesSeRact CXL V5.5 Documentation
  11475. ---------------------------------------------------------------------------
  11476.  
  11477. NAME.........MSkeys            <TcxlMou.H>
  11478.  
  11479. DESCRIPTION
  11480.      Assigns  key-bindings  to  mouse  buttins,  for  use  with  MOU_KEY
  11481.      support.
  11482.  
  11483. PROTOTYPE....VOID PAS MSkeys(KeyT l, KeyT r, KeyT m);
  11484.  
  11485. ARGUMENTS
  11486.   l   -  KeyCode for Left Button (Default [Enter])
  11487.   r   -  KeyCode for Right Button (Default [Esc])
  11488.   m   -  KeyCode for Middle Button (Default [F1])
  11489.  
  11490. RETURNS......None
  11491.  
  11492. ---------------------------------------------------------------------------
  11493.  
  11494. NAME.........MSlimit           <TcxlMou.H>
  11495.  
  11496. DESCRIPTION
  11497.      Sets the  mouse's upper  and lower  horizontal boundaries, and also
  11498.      sets the left and right vertical boundaries.
  11499.  
  11500. PROTOTYPE....VOID PAS MSlimit(IntT sr, IntT sc, IntT er, IntT ec);
  11501.  
  11502. ARGUMENTS
  11503.   sr  -  Upper Row Boundary
  11504.   sc  -  Left Column Boundary
  11505.   er  -  Bottom Row Boundary
  11506.   ec  -  Right Column Boundary
  11507.  
  11508. RETURNS......None
  11509.  
  11510. ---------------------------------------------------------------------------
  11511.  
  11512. NAME.........MSmove            <TcxlMou.H>
  11513.  
  11514. DESCRIPTION
  11515.      Update _MouCtl with info about the movement of the mouse.
  11516.  
  11517. PROTOTYPE....VOID PAS MSmove(NOARG);
  11518.  
  11519. ARGUMENTS....None
  11520.  
  11521. RETURNS......None
  11522.  
  11523.  
  11524.  
  11525.  
  11526.  
  11527.  
  11528.  
  11529.  
  11530.  
  11531.  
  11532.  
  11533. TesSeRact CXL V5.5 Documentation                                   Page 185
  11534. ---------------------------------------------------------------------------
  11535.  
  11536. NAME.........MSpop             <TcxlMou.H>
  11537.  
  11538. DESCRIPTION
  11539.      Pop and  return pushed mouse support level and cursor position from
  11540.      _MouCtl.
  11541.  
  11542. PROTOTYPE....IntT PAS MSpop(NOARG);
  11543.  
  11544. ARGUMENTS....None
  11545.  
  11546. RETURNS......None
  11547.  
  11548. ---------------------------------------------------------------------------
  11549.  
  11550. NAME.........MSpress           <TcxlMou.H>
  11551.  
  11552. DESCRIPTION
  11553.      Update _MouCtl with info about mouse button presses.
  11554.  
  11555. PROTOTYPE....VOID PAS MSpress(IntT b);
  11556.  
  11557. ARGUMENTS
  11558.   b   -  Button (0=left, 1=right, 2=middle)
  11559.  
  11560. RETURNS......None
  11561.  
  11562. ---------------------------------------------------------------------------
  11563.  
  11564. NAME.........MSpush            <TcxlMou.H>
  11565.  
  11566. DESCRIPTION
  11567.      Push current mouse support-level and cursor position in _MouCtl and
  11568.      replace with passed parameter.
  11569.  
  11570. PROTOTYPE....VOID PAS MSpush(IntT m);
  11571.  
  11572. ARGUMENTS
  11573.   m   -  New Mouse Support-Level
  11574.       (See Appendix C [Mouse Access Subsystem])
  11575.  
  11576. RETURNS......None
  11577.  
  11578.  
  11579.  
  11580.  
  11581.  
  11582.  
  11583.  
  11584.  
  11585.  
  11586.  
  11587.  
  11588.  
  11589.  
  11590.  
  11591.  
  11592. Page 186                                   TesSeRact CXL V5.5 Documentation
  11593. ---------------------------------------------------------------------------
  11594.  
  11595. NAME.........MSreles           <TcxlMou.H>
  11596.  
  11597. DESCRIPTION
  11598.      Update _MouCtl with info about mouse button releases.
  11599.  
  11600. PROTOTYPE....VOID PAS MSreles(IntT b);
  11601.  
  11602. ARGUMENTS
  11603.   b   -  Button (0=left, 1=right, 2=middle)
  11604.  
  11605. RETURNS......None
  11606.  
  11607. ---------------------------------------------------------------------------
  11608.  
  11609. NAME.........MSshow            <TcxlMou.H>    Macro
  11610.  
  11611. DESCRIPTION
  11612.      Reveals the hidden mouse cursor.
  11613.  
  11614. PROTOTYPE....VOID MSshow(VOID);
  11615.  
  11616.   #define MSshow() (_MSsho(0))
  11617.  
  11618. ARGUMENTS....None
  11619.  
  11620. RETURNS......None
  11621.  
  11622. ---------------------------------------------------------------------------
  11623.  
  11624. NAME.........MSspeed           <TcxlMou.H>
  11625.  
  11626. DESCRIPTION
  11627.      Adjusts the mouse's speed by changing its sensitivity.
  11628.  
  11629. PROTOTYPE....VOID PAS MSspeed(IntT x, IntT y);
  11630.  
  11631. ARGUMENTS
  11632.   x   -  Horizontal Speed (higher numbers are slower)
  11633.   y   -  Vertical Speed (higher numbers are slower)
  11634.  
  11635. RETURNS......None
  11636.  
  11637.  
  11638.  
  11639.  
  11640.  
  11641.  
  11642.  
  11643.  
  11644.  
  11645.  
  11646.  
  11647.  
  11648.  
  11649.  
  11650.  
  11651. TesSeRact CXL V5.5 Documentation                                   Page 187
  11652. ---------------------------------------------------------------------------
  11653.  
  11654. NAME.........MSstat            <TcxlMou.H>
  11655.  
  11656. DESCRIPTION
  11657.      Update _MouCtl with current mouse position and status.
  11658.  
  11659. PROTOTYPE....VOID PAS MSstat(NOARG);
  11660.  
  11661. ARGUMENTS....None
  11662.  
  11663. RETURNS......None
  11664.  
  11665. ---------------------------------------------------------------------------
  11666.  
  11667. NAME.........MSterm            <TcxlMou.H>
  11668.  
  11669. DESCRIPTION
  11670.      This function  is called  automatically by TcxlTerm() (Page 142) to
  11671.      reset the mouse before terminating the program.
  11672.  
  11673. PROTOTYPE....VOID PAS MSterm(NOARG);
  11674.  
  11675. ARGUMENTS....None
  11676.  
  11677. RETURNS......None
  11678.  
  11679. ---------------------------------------------------------------------------
  11680.  
  11681. NAME.........MSupdat           <TcxlMou.H>
  11682.  
  11683. DESCRIPTION
  11684.      Conditionally hide  mouse cursor  for conditional  update of screen
  11685.      area.
  11686.  
  11687. PROTOTYPE....VOID PAS MSupdat(IntT sr, IntT sc, IntT er, IntT ec);
  11688.  
  11689. ARGUMENTS
  11690.   sr  -  Upper Row Boundary
  11691.   sc  -  Left Column Boundary
  11692.   er  -  Bottom Row Boundary
  11693.   sc  -  Right Column Boundary
  11694.  
  11695. RETURNS......None
  11696.  
  11697.  
  11698.  
  11699.  
  11700.  
  11701.  
  11702.  
  11703.  
  11704.  
  11705.  
  11706.  
  11707.  
  11708.  
  11709.  
  11710. Page 188                                   TesSeRact CXL V5.5 Documentation
  11711. ---------------------------------------------------------------------------
  11712.  
  11713. NAME........._MSget            <TcxlMou.H>
  11714.  
  11715. DESCRIPTION
  11716.      Internal routine to get current cursor position and update _MouCtl.
  11717.  
  11718. PROTOTYPE....VOID PAS _MSget(NOARG);
  11719.  
  11720. ARGUMENTS....None
  11721.  
  11722. RETURNS......None
  11723.  
  11724. ---------------------------------------------------------------------------
  11725.  
  11726. NAME........._MSpos            <TcxlMou.H>
  11727.  
  11728. DESCRIPTION
  11729.      Internal routine  to position mouse cursor at coordinates stored in
  11730.      _MouCtl.
  11731.  
  11732. PROTOTYPE....VOID PAS _MSpos(NOARG);
  11733.  
  11734. ARGUMENTS....None
  11735.  
  11736. RETURNS......None
  11737.  
  11738. ---------------------------------------------------------------------------
  11739.  
  11740. NAME........._MSset            <TcxlMou.H>
  11741.  
  11742. DESCRIPTION
  11743.      Internal routine  to call  mouse software-reset,  and force  cursor
  11744.      limits to full size of screen as deliminated in BIOS data area.
  11745.  
  11746. PROTOTYPE....VOID PAS _MSset(NOARG);
  11747.  
  11748. ARGUMENTS....None
  11749.  
  11750. RETURNS......None
  11751.  
  11752.  
  11753.  
  11754.  
  11755.  
  11756.  
  11757.  
  11758.  
  11759.  
  11760.  
  11761.  
  11762.  
  11763.  
  11764.  
  11765.  
  11766.  
  11767.  
  11768.  
  11769. TesSeRact CXL V5.5 Documentation                                   Page 189
  11770. ---------------------------------------------------------------------------
  11771.  
  11772. NAME........._MSsho            <TcxlMou.H>
  11773.  
  11774. DESCRIPTION
  11775.      Internal routine  to reveal  the hidden  mouse cursor.   If  passed
  11776.      parameter is  non-zero, only  show cursor  if MOU_CURS.    Also  if
  11777.      MOU_CURS,  update cursor mask.
  11778.  
  11779. PROTOTYPE....VOID PAS _MSsho(IntT s);
  11780.  
  11781. ARGUMENTS
  11782.   s   -  Flag value (see description)
  11783.  
  11784. RETURNS......None
  11785.  
  11786. ---------------------------------------------------------------------------
  11787.  
  11788.  
  11789.                          Internal Level Functions
  11790.  
  11791.  
  11792.                            Conversion Subsystem
  11793.  
  11794. ---------------------------------------------------------------------------
  11795.  
  11796. NAME.........cvtcf             <TcxlCvt.H>
  11797.  
  11798. DESCRIPTION
  11799.      Converts a TCXL field string to a floating point number.
  11800.  
  11801. PROTOTYPE....DblT CTYP cvtcf(ChrP fp);
  11802.  
  11803. ARGUMENTS
  11804.   fp  -  Pointer to TCXL field string with embedded decimal
  11805.  
  11806. RETURNS
  11807.   A double precision floating point number.
  11808.  
  11809. ---------------------------------------------------------------------------
  11810.  
  11811. NAME.........cvtci             <TcxlCvt.H>
  11812.  
  11813. DESCRIPTION
  11814.      Converts a TCXL field string to an integer.
  11815.  
  11816. PROTOTYPE....IntT CTYP cvtci(ChrP fp);
  11817.  
  11818. ARGUMENTS
  11819.   fp  -  Pointer to TCXL field string
  11820.  
  11821. RETURNS
  11822.   An integer number.
  11823.  
  11824.  
  11825.  
  11826.  
  11827.  
  11828. Page 190                                   TesSeRact CXL V5.5 Documentation
  11829. ---------------------------------------------------------------------------
  11830.  
  11831. NAME.........cvtfc             <TcxlCvt.H>
  11832.  
  11833. DESCRIPTION
  11834.      Converts a floating point number to a TCXL field string.
  11835.  
  11836. PROTOTYPE....VOID CTYP cvtfc(ChrP fp, DblT dv, IntT fw, IntT nd);
  11837.  
  11838. ARGUMENTS
  11839.   fp  -  Pointer to TCXL field string
  11840.   dv  -  Floating point number to convert
  11841.   ws  -  field width
  11842.   nd  -  number of decimal places to convert
  11843.  
  11844. RETURNS......None
  11845.  
  11846. ---------------------------------------------------------------------------
  11847.  
  11848. NAME.........cvtic             <TcxlCvt.H>
  11849.  
  11850. DESCRIPTION
  11851.      Converts an integer to a TCXL field string.
  11852.  
  11853. PROTOTYPE....VOID CTYP cvtic(ChrP fp, IntT iv, IntT fs);
  11854.  
  11855. ARGUMENTS
  11856.   fp  -  Pointer to TCXL field string
  11857.   iv  -  integer value to convert
  11858.   fs  -  field size
  11859.  
  11860. RETURNS......None
  11861.  
  11862. ---------------------------------------------------------------------------
  11863.  
  11864. NAME.........touplow           <TcxlCvt.H>
  11865.  
  11866. DESCRIPTION
  11867.      Converts a  character to  upper or  lowercase depending on previous
  11868.      character.    This  function  is  used  internally  by  other  TCXL
  11869.      functions.
  11870.  
  11871. PROTOTYPE....IntT CTYP touplow(ChrP s, ChrP p, IntT c);
  11872.  
  11873. ARGUMENTS
  11874.   s   -  Pointer to string to base conversion on
  11875.   p   -  Pointer to current position in string
  11876.   c   -  Character to convert
  11877.  
  11878. RETURNS
  11879.   The converted character.
  11880.  
  11881. SEE ALSO
  11882.   struplow (Page 141)
  11883.  
  11884.  
  11885.  
  11886.  
  11887. TesSeRact CXL V5.5 Documentation                                   Page 191
  11888. ---------------------------------------------------------------------------
  11889.  
  11890.                          Format Control Subsystem
  11891.  
  11892. ---------------------------------------------------------------------------
  11893.  
  11894. NAME.........FmtBack           <TcxlFmt.H>
  11895.  
  11896. DESCRIPTION
  11897.      Backspace TCXL format string and output pointer.
  11898.  
  11899. PROTOTYPE....VOID CTYP FmtBack(ChrI f, ChrI o);
  11900.  
  11901. ARGUMENTS
  11902.   f   -  Pointer to Format String (See Appendix E)
  11903.   o   -  Pointer to Output String
  11904.  
  11905. RETURNS......None
  11906.  
  11907. ---------------------------------------------------------------------------
  11908.  
  11909. NAME.........FmtChar           <TcxlFmt.H>
  11910.  
  11911. DESCRIPTION
  11912.      Checks given  character against  a given  TCXL character type code,
  11913.      and determines  if that  character is  valid for  that type.   This
  11914.      function is used internally by several TCXL functions.
  11915.  
  11916. PROTOTYPE....IntT CTYP FmtChar(IntT c, IntT f);
  11917.  
  11918. ARGUMENTS
  11919.   c   -  character to test
  11920.   f   -  character type code to compare with (See Appendix E)
  11921.  
  11922. RETURNS
  11923.   0  - character is not valid for given type code
  11924.   1  - character is valid for given type code
  11925.  
  11926. ---------------------------------------------------------------------------
  11927.  
  11928. NAME.........FmtExcl           <TcxlFmt.H>
  11929.  
  11930. DESCRIPTION
  11931.      Search  TCXL  format-string  "[]"  exclusion  set  for  the  passed
  11932.      character.  Update   passed  pointer  past  ']'  and  return  1  if
  11933.      character is  not in  set, else return 0 and leave pointer for next
  11934.      char. Assumes  valid format-string.
  11935.  
  11936. PROTOTYPE....IntT CTYP FmtExcl(ChrI f, IntT c);
  11937.  
  11938. ARGUMENTS
  11939.   f   -  Exclusion Set
  11940.   c   -  Character to search for
  11941.  
  11942. RETURNS
  11943.   1   -  Character Not Found In Set; 'f' updated past validation list
  11944.   0   -  Character Found
  11945.  
  11946. Page 192                                   TesSeRact CXL V5.5 Documentation
  11947. ---------------------------------------------------------------------------
  11948.  
  11949. NAME.........FmtFlip           <TcxlFmt.H>
  11950.  
  11951. DESCRIPTION
  11952.      Modifies a format option bit.
  11953.  
  11954. PROTOTYPE....VOID CTYP FmtFlip(IntT c);
  11955.  
  11956. ARGUMENTS
  11957.   c   -  Format option to change.
  11958.  
  11959. RETURNS......None
  11960.  
  11961. ---------------------------------------------------------------------------
  11962.  
  11963. NAME.........FmtIncl           <TcxlFmt.H>
  11964.  
  11965. DESCRIPTION
  11966.      Search  TCXL  format-string  "<>"  inclusion  set  for  the  passed
  11967.      character.  Update   passed  pointer  past  ']'  and  return  1  if
  11968.      character is in set, else return 0 and leave pointer for next char.
  11969.      Assumes  valid format-string.
  11970.  
  11971. PROTOTYPE....IntT CTYP FmtIncl(ChrI f, IntT c);
  11972.  
  11973. ARGUMENTS
  11974.   f   -  Inclusion Set
  11975.   c   -  Character To Search For
  11976.  
  11977. RETURNS
  11978.   1   -  Character Found In Set; 'f' updated past validation list
  11979.   0   -  Character Not Found
  11980.  
  11981. ---------------------------------------------------------------------------
  11982.  
  11983. NAME.........FmtInit           <TcxlFmt.H>
  11984.  
  11985. DESCRIPTION
  11986.      Verify TCXL  format string  against passed  usage.    Return  0  on
  11987.      failure, else set globals FmtOpt and FmtUse and return field length
  11988.      on success.
  11989.  
  11990. PROTOTYPE....IntT CTYP FmtInit(ChrP f, IntT u);
  11991.  
  11992. ARGUMENTS
  11993.   f   -  Format String (See Appendix E)
  11994.   u   -  Usage
  11995.  
  11996. RETURNS
  11997.   Field length, or Zero on failure
  11998.  
  11999.  
  12000.  
  12001.  
  12002.  
  12003.  
  12004.  
  12005. TesSeRact CXL V5.5 Documentation                                   Page 193
  12006. ---------------------------------------------------------------------------
  12007.  
  12008. NAME.........FmtPutF           <TcxlFmt.H>    Macro
  12009.  
  12010. DESCRIPTION
  12011.      Sets internal backspace function for FmtBack();
  12012.  
  12013. PROTOTYPE....VOID FmtPutF(VfiCP f);
  12014.  
  12015.   #define FmtPutF(f) (FmtPut = (f))
  12016.  
  12017. ARGUMENTS
  12018.   f   -  Backspace Function
  12019.  
  12020. RETURNS......None
  12021.  
  12022. ---------------------------------------------------------------------------
  12023.  
  12024.                             Near/Far Subsystem
  12025.  
  12026.  
  12027. There are  three basic  functions  used  here.  _FarCpy(),  _FarGet(),  and
  12028. _FarPut().   Each function  is  aliased  to  allow  direct  access  by  far
  12029. pointers, rather  than just  through segment:offset combinations.  There is
  12030. no additional  code used  for the aliases, so feel free to use whichever is
  12031. most convenient for your purposes.
  12032.  
  12033. ---------------------------------------------------------------------------
  12034.  
  12035. NAME.........MK_FP             <TcxlFar.H>    Macro
  12036. .............MK_FPT            Macro
  12037.  
  12038. DESCRIPTION
  12039.      These macros  are used  to create  far pointers from segment/offset
  12040.      combinations.   MK_FP creates  an anonymous  pointer (void  far *),
  12041.      while MK_FPT  creats a "typed" far pointer, necessary in C++, since
  12042.      C++ does not permit assigning a VOID to a typed pointer.
  12043.  
  12044. PROTOTYPE....MK_FP(s, o)
  12045. .............MK_FPT(t, s, o)
  12046.  
  12047. ARGUMENTS
  12048.   s   -  Segment Value
  12049.   o   -  Offset Value
  12050.   t   -  Type to cast return pointer
  12051.  
  12052. RETURNS
  12053.   FAR pointer to object
  12054.  
  12055.  
  12056.  
  12057.  
  12058.  
  12059.  
  12060.  
  12061.  
  12062.  
  12063.  
  12064. Page 194                                   TesSeRact CXL V5.5 Documentation
  12065. ---------------------------------------------------------------------------
  12066.  
  12067. NAME........._FarCpy           <TcxlFar.H>
  12068. ............._CpyFar
  12069.      These functions  are used  to copy  data from  one far  pointer  to
  12070.      another.
  12071.  
  12072. PROTOTYPE....VOID PAS _FarCpy(WrdT st, WrdT ot, WrdT sf, WrdT of, WrdT n);
  12073.   VOID PAS _CpyFar(BytFP t, BytFP f, WrdT n);
  12074.  
  12075. ARGUMENTS
  12076.   st  -  Destination Segment
  12077.   ot  -  Destination Offset
  12078.   t   -  Far Pointer to Destination
  12079.   sf  -  Source Segment
  12080.   of  -  Source Offset
  12081.   f   -  Far Pointer to Source
  12082.   n   -  Number of Bytes to copy
  12083.  
  12084. RETURNS......None
  12085.  
  12086. ---------------------------------------------------------------------------
  12087.  
  12088. NAME........._FarGet           <TcxlFar.H>
  12089. ............._GetFar
  12090.  
  12091. DESCRIPTION
  12092.      These functions  will copy  the specified  number of  bytes from an
  12093.      explicit far  pointer to  a pointer  of the  correct size  for  the
  12094.      current memory model (either near or far).
  12095.  
  12096. PROTOTYPE....VOID PAS _FarGet(BytP p, WrdT s, WrdT o, WrdT n);
  12097.   VOID PAS _GetFar(BytP p, BytFP f, WrdT n);
  12098.  
  12099. ARGUMENTS
  12100.   p   -  Destination Pointer
  12101.   s   -  Source Segment
  12102.   o   -  Source Offset
  12103.   f   -  Far Pointer to Source
  12104.   n   -  Number of Characters to copy
  12105.  
  12106. RETURNS......None
  12107.  
  12108.  
  12109.  
  12110.  
  12111.  
  12112.  
  12113.  
  12114.  
  12115.  
  12116.  
  12117.  
  12118.  
  12119.  
  12120.  
  12121.  
  12122.  
  12123. TesSeRact CXL V5.5 Documentation                                   Page 195
  12124. ---------------------------------------------------------------------------
  12125.  
  12126. NAME........._FarPut           <TcxlFar.H>
  12127. ............._PutFar
  12128.  
  12129. DESCRIPTION
  12130.      These functions  will copy  the specified  number of  bytes from  a
  12131.      pointer of  the correct  size for  the current memory model (either
  12132.      near or far) to an explicit far pointer.
  12133.  
  12134. PROTOTYPE....VOID PAS _FarPut(WrdT s, WrdT o, BytP p, WrdT n);
  12135.   VOID PAS _PutFar(BytFP t, BytP p, WrdT n);
  12136.  
  12137. ARGUMENTS
  12138.   s   -  Destination Segment
  12139.   o   -  Destination Offset
  12140.   t   -  Far Pointer to Destination
  12141.   p   -  Source Pointer
  12142.   n   -  Number of Characters to copy
  12143.  
  12144. RETURNS......None
  12145.  
  12146.  
  12147.  
  12148.  
  12149.  
  12150.  
  12151.  
  12152.  
  12153.  
  12154.  
  12155.  
  12156.  
  12157.  
  12158.  
  12159.  
  12160.  
  12161.  
  12162.  
  12163.  
  12164.  
  12165.  
  12166.  
  12167.  
  12168.  
  12169.  
  12170.  
  12171.  
  12172.  
  12173.  
  12174.  
  12175.  
  12176.  
  12177.  
  12178.  
  12179.  
  12180.  
  12181.  
  12182. Page 196                                   TesSeRact CXL V5.5 Documentation
  12183.